In this workflow, I analyze the dataset of distance matrices generated for blocks of sequence across the genome in order to visualize how genetic distances vary between samples and loci. I will then estimate the statistic D3 in order to test for pattern consistent with introgression.
This file is rather long: the genome scans of genetic distances are in the first half, and calculation of D3 is in the last half.
This dataset consists of a series of genetic distances measured across the genome between each combination of species pairs. Genetic distance is measured as Kimura 2-parameter distances, which outputs percent divergence, using Emboss v6.6.6. These distances are calculated within 5-kb blocks of the genome. They have been coarsely filtered to remove chunks with more than 20% missing data in the entire matrix, but should be further filtered for missingness on a per-sample basis as measurements of distance for samples with a lot of missing data may otherwise be unreliable.
First, load some functions.
##This plot will line up the chromosomes, and then plot the divergence between taxa along the chromosomes as a smoothed line.
#This function will make the line plots
Div.plot = function(dists_sel, label_list, palette, maxy, windows) {
as.data.frame(dists_sel) %>%
filter(pair %in% pairs) %>% #filter to keep only the pair(s) of interest
filter(grepl('chr', chromosome)) %>% #filter to keep only proper chromosomes (not the unplaced VMED scaffolds)
ggplot(., aes(x = as.numeric(start)/1000000, y = distance/100, color = pair, fill=pair))+ #set up the ggplot
#scale_colour_brewer(palette = palette, aesthetics = c("colour", "fill"), name = "Species Pair", labels = label_list)+ #define the colour pallette to use, and rename the pairs to something that can be more easily interpretted than the codes. The pairs are by default in alphabetical order unless you reordered them.
scale_color_manual(values = palette)+
#geom_point(shape = 20, size=0.5, alpha=0.03, aes(x = as.numeric(start)/1000000, y = distance, color = pair)) + #plot very small points which are translucent to avoid overplotting because there are so many data points
theme_classic()+ #simplify plot
#The following line I had to remove due to a bug that intermittently produced "Error in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : polygon edge not found". This error could be resolved by restarting R but the time cost was too heavy to justify keeping this line, it will be faster to reformat the text manually
#theme(axis.text.y = element_text(family="Times", face="plain", colour="black", size=10), axis.title.x = element_text(family="Times", face="plain", colour="black", size=14), axis.title.y = element_text(family="Times", face="plain", colour="black", size=14), legend.text = element_text(family="Times", face="italic", colour="black", size=10), legend.title = element_text(family="Times", face="plain", colour="black", size=11))+ #define the text fonts and sizes for presentation purposes
theme(strip.background = element_blank(), strip.text.x = element_blank(), axis.text.x=element_blank())+ #simplify plot, remove title for presentation purposes as it is a distraction and redundant with a caption
xlab("Genomic Position")+ #write x axis label
ylab("Genetic distance")+ #write y axis label
labs(fill = "Species Pair", colour="Species Pair")+ #make the fill and colour labels the same so there is only 1 legend
facet_grid(~ chromosome, scales = "free", space="free", drop=T, shrink=T)+ #plot each chromosome separately
scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) + #make sure that the origin is at 0,0
scale_y_continuous(expand = c(0, 0), limits = c(0, maxy))+ #make sure that the origin is at 0,0, and make y axis go to a certain appropriate value
geom_line(data = . %>%
group_by(pair, chromosome) %>%
mutate(distance = rollmean(distance, windows, align = "right", fill = NA)), alpha=0.75)#+ #change the number of windows used in the rolling mean to control how much bumpy detail is shown by the line. I found that with 500 it looks good, but with 100 it looks like a fuzzy caterpiller and the trends are difficult to discern.
#geom_ribbon(data = . %>% group_by(pair) %>% mutate(distance = rollmean(distance, 500, align = "right", fill = NA)) %>% mutate(distance_sd = rollapply(distance, width=500, FUN=sd, fill=0, align="right")), aes(ymin = distance - distance_sd, ymax = distance + distance_sd))
}
#load missingness matrix
load_missingness <- function(file) {
#dataset <- read.delim(file, sep="\t", header=F) #read the data
dataset <- vroom(file, delim="\t", col_names=F, skip = 0) #read the data
formatted <- as_tibble(t(dataset)) %>% #transpose rows to columns
rename(locus = V1, Alca_torda = V2, ANSK01 = V3, ANSK7 = V4, ANSK8 = V5, CHSK_MKP2451 = V6, CISK2 = V7, CISK3 = V8, CISK55 = V9, Fratercula_arctica = V10, GRSK_MKP1592 = V11, GRSK_MKP1593 = V12, LTJA_MKP990 = V13, PAJA_B20730 = V14, PAJA_USNM606730 = V15, POJA_4 = V16, POJA_IB2659 = V17, POJA_MKP1559 = V18, Uria_lomvia = V19) %>% #rename columns
mutate(locus = str_replace(locus, "^.*/", "")) %>% #remove file path from locus name
separate(locus, c("chromosome", "start", "end"), "_") #split chromosome from position
return(formatted)
}
#load distance data
load_distance <- function(file){
#read in the distance matrix
dists <- read.delim(file, sep="\t", header=F) #kimura 2-parameter distances
#dists <- vroom("allwindows.distmat", delim="\t", col_names=F) #faster way to read the data, but changes col names a bit
#remove empty columns
emptycols <- sapply(dists, function (k) all(is.na(k))) #get a list of the columns that are empty
dists <- dists[!emptycols] #keep only the columns that are NOT empty
distsf <- dists[sapply(dists, is.numeric)]
#Now select the data that you are interested to plot. This requires manually determining which column contains your distance of interest.
dists_select <- NULL #start at empty dataframe
dists_select$locus <- dists$V1 #This column should contain the locus names
#Now manually specify the names of each comparison
dists_select$Alca_torda__Alca_torda <- distsf[,1]
dists_select$ANSK01__Alca_torda <- distsf[,2]
dists_select$ANSK7__Alca_torda <- distsf[,3]
dists_select$ANSK8__Alca_torda <- distsf[,4]
dists_select$Alca_torda__CHSK_MKP2451 <- distsf[,5]
dists_select$Alca_torda__CISK2 <- distsf[,6]
dists_select$Alca_torda__CISK3 <- distsf[,7]
dists_select$Alca_torda__CISK55 <- distsf[,8]
dists_select$Alca_torda__Fratercula_arctica <- distsf[,9]
dists_select$Alca_torda__GRSK_MKP1592 <- distsf[,10]
dists_select$Alca_torda__GRSK_MKP1593 <- distsf[,11]
dists_select$Alca_torda__LTJA_MKP990 <- distsf[,12]
dists_select$Alca_torda__PAJA_B20730 <- distsf[,13]
dists_select$Alca_torda__PAJA_USNM606730 <- distsf[,14]
dists_select$Alca_torda__POJA_4 <- distsf[,15]
dists_select$Alca_torda__POJA_IB2659 <- distsf[,16]
dists_select$Alca_torda__POJA_MKP1559 <- distsf[,17]
dists_select$Alca_torda__Uria_lomvia <- distsf[,18]
dists_select$ANSK01__ANSK01 <- distsf[,19]
dists_select$ANSK01__ANSK7 <- distsf[,20]
dists_select$ANSK01__ANSK8 <- distsf[,21]
dists_select$ANSK01__CHSK_MKP2451 <- distsf[,22]
dists_select$ANSK01__CISK2 <- distsf[,23]
dists_select$ANSK01__CISK3 <- distsf[,24]
dists_select$ANSK01__CISK55 <- distsf[,25]
dists_select$ANSK01__Fratercula_arctica <- distsf[,26]
dists_select$ANSK01__GRSK_MKP1592 <- distsf[,27]
dists_select$ANSK01__GRSK_MKP1593 <- distsf[,28]
dists_select$ANSK01__LTJA_MKP990 <- distsf[,29]
dists_select$ANSK01__PAJA_B20730 <- distsf[,30]
dists_select$ANSK01__PAJA_USNM606730 <- distsf[,31]
dists_select$ANSK01__POJA_4 <- distsf[,32]
dists_select$ANSK01__POJA_IB2659 <- distsf[,33]
dists_select$ANSK01__POJA_MKP1559 <- distsf[,34]
dists_select$ANSK01__Uria_lomvia <- distsf[,35]
dists_select$ANSK7__ANSK7 <- distsf[,36]
dists_select$ANSK7__ANSK8 <- distsf[,37]
dists_select$ANSK7__CHSK_MKP2451 <- distsf[,38]
dists_select$ANSK7__CISK2 <- distsf[,39]
dists_select$ANSK7__CISK3 <- distsf[,40]
dists_select$ANSK7__CISK55 <- distsf[,41]
dists_select$ANSK7__Fratercula_arctica <- distsf[,42]
dists_select$ANSK7__GRSK_MKP1592 <- distsf[,43]
dists_select$ANSK7__GRSK_MKP1593 <- distsf[,44]
dists_select$ANSK7__LTJA_MKP990 <- distsf[,45]
dists_select$ANSK7__PAJA_B20730 <- distsf[,46]
dists_select$ANSK7__PAJA_USNM606730 <- distsf[,47]
dists_select$ANSK7__POJA_4 <- distsf[,48]
dists_select$ANSK7__POJA_IB2659 <- distsf[,49]
dists_select$ANSK7__POJA_MKP1559 <- distsf[,50]
dists_select$ANSK7__Uria_lomvia <- distsf[,51]
dists_select$ANSK8__ANSK8 <- distsf[,52]
dists_select$ANSK8__CHSK_MKP2451 <- distsf[,53]
dists_select$ANSK8__CISK2 <- distsf[,54]
dists_select$ANSK8__CISK3 <- distsf[,55]
dists_select$ANSK8__CISK55 <- distsf[,56]
dists_select$ANSK8__Fratercula_arctica <- distsf[,57]
dists_select$ANSK8__GRSK_MKP1592 <- distsf[,58]
dists_select$ANSK8__GRSK_MKP1593 <- distsf[,59]
dists_select$ANSK8__LTJA_MKP990 <- distsf[,60]
dists_select$ANSK8__PAJA_B20730 <- distsf[,61]
dists_select$ANSK8__PAJA_USNM606730 <- distsf[,62]
dists_select$ANSK8__POJA_4 <- distsf[,63]
dists_select$ANSK8__POJA_IB2659 <- distsf[,64]
dists_select$ANSK8__POJA_MKP1559 <- distsf[,65]
dists_select$ANSK8__Uria_lomvia <- distsf[,66]
dists_select$CHSK_MKP2451__CHSK_MKP2451 <- distsf[,67]
dists_select$CHSK_MKP2451__CISK2 <- distsf[,68]
dists_select$CHSK_MKP2451__CISK3 <- distsf[,69]
dists_select$CHSK_MKP2451__CISK55 <- distsf[,70]
dists_select$CHSK_MKP2451__Fratercula_arctica <- distsf[,71]
dists_select$CHSK_MKP2451__GRSK_MKP1592 <- distsf[,72]
dists_select$CHSK_MKP2451__GRSK_MKP1593 <- distsf[,73]
dists_select$CHSK_MKP2451__LTJA_MKP990 <- distsf[,74]
dists_select$CHSK_MKP2451__PAJA_B20730 <- distsf[,75]
dists_select$CHSK_MKP2451__PAJA_USNM606730 <- distsf[,76]
dists_select$CHSK_MKP2451__POJA_4 <- distsf[,77]
dists_select$CHSK_MKP2451__POJA_IB2659 <- distsf[,78]
dists_select$CHSK_MKP2451__POJA_MKP1559 <- distsf[,79]
dists_select$CHSK_MKP2451__Uria_lomvia <- distsf[,80]
dists_select$CISK2__CISK2 <- distsf[,81]
dists_select$CISK2__CISK3 <- distsf[,82]
dists_select$CISK2__CISK55 <- distsf[,83]
dists_select$CISK2__Fratercula_arctica <- distsf[,84]
dists_select$CISK2__GRSK_MKP1592 <- distsf[,85]
dists_select$CISK2__GRSK_MKP1593 <- distsf[,86]
dists_select$CISK2__LTJA_MKP990 <- distsf[,87]
dists_select$CISK2__PAJA_B20730 <- distsf[,88]
dists_select$CISK2__PAJA_USNM606730 <- distsf[,89]
dists_select$CISK2__POJA_4 <- distsf[,90]
dists_select$CISK2__POJA_IB2659 <- distsf[,91]
dists_select$CISK2__POJA_MKP1559 <- distsf[,92]
dists_select$CISK2__Uria_lomvia <- distsf[,93]
dists_select$CISK3__CISK3 <- distsf[,94]
dists_select$CISK3__CISK55 <- distsf[,95]
dists_select$CISK3__Fratercula_arctica <- distsf[,96]
dists_select$CISK3__GRSK_MKP1592 <- distsf[,97]
dists_select$CISK3__GRSK_MKP1593 <- distsf[,98]
dists_select$CISK3__LTJA_MKP990 <- distsf[,99]
dists_select$CISK3__PAJA_B20730 <- distsf[,100]
dists_select$CISK3__PAJA_USNM606730 <- distsf[,101]
dists_select$CISK3__POJA_4 <- distsf[,102]
dists_select$CISK3__POJA_IB2659 <- distsf[,103]
dists_select$CISK3__POJA_MKP1559 <- distsf[,104]
dists_select$CISK3__Uria_lomvia <- distsf[,105]
dists_select$CISK55__CISK55 <- distsf[,106]
dists_select$CISK55__Fratercula_arctica <- distsf[,107]
dists_select$CISK55__GRSK_MKP1592 <- distsf[,108]
dists_select$CISK55__GRSK_MKP1593 <- distsf[,109]
dists_select$CISK55__LTJA_MKP990 <- distsf[,110]
dists_select$CISK55__PAJA_B20730 <- distsf[,111]
dists_select$CISK55__PAJA_USNM606730 <- distsf[,112]
dists_select$CISK55__POJA_4 <- distsf[,113]
dists_select$CISK55__POJA_IB2659 <- distsf[,114]
dists_select$CISK55__POJA_MKP1559 <- distsf[,115]
dists_select$CISK55__Uria_lomvia <- distsf[,116]
dists_select$Fratercula_arctica__Fratercula_arctica <- distsf[,117]
dists_select$Fratercula_arctica__GRSK_MKP1592 <- distsf[,118]
dists_select$Fratercula_arctica__GRSK_MKP1593 <- distsf[,119]
dists_select$Fratercula_arctica__LTJA_MKP990 <- distsf[,120]
dists_select$Fratercula_arctica__PAJA_B20730 <- distsf[,121]
dists_select$Fratercula_arctica__PAJA_USNM606730 <- distsf[,122]
dists_select$Fratercula_arctica__POJA_4 <- distsf[,123]
dists_select$Fratercula_arctica__POJA_IB2659 <- distsf[,124]
dists_select$Fratercula_arctica__POJA_MKP1559 <- distsf[,125]
dists_select$Fratercula_arctica__Uria_lomvia <- distsf[,126]
dists_select$GRSK_MKP1592__GRSK_MKP1592 <- distsf[,127]
dists_select$GRSK_MKP1592__GRSK_MKP1593 <- distsf[,128]
dists_select$GRSK_MKP1592__LTJA_MKP990 <- distsf[,129]
dists_select$GRSK_MKP1592__PAJA_B20730 <- distsf[,130]
dists_select$GRSK_MKP1592__PAJA_USNM606730 <- distsf[,131]
dists_select$GRSK_MKP1592__POJA_4 <- distsf[,132]
dists_select$GRSK_MKP1592__POJA_IB2659 <- distsf[,133]
dists_select$GRSK_MKP1592__POJA_MKP1559 <- distsf[,134]
dists_select$GRSK_MKP1592__Uria_lomvia <- distsf[,135]
dists_select$GRSK_MKP1593__GRSK_MKP1593 <- distsf[,136]
dists_select$GRSK_MKP1593__LTJA_MKP990 <- distsf[,137]
dists_select$GRSK_MKP1593__PAJA_B20730 <- distsf[,138]
dists_select$GRSK_MKP1593__PAJA_USNM606730 <- distsf[,139]
dists_select$GRSK_MKP1593__POJA_4 <- distsf[,140]
dists_select$GRSK_MKP1593__POJA_IB2659 <- distsf[,141]
dists_select$GRSK_MKP1593__POJA_MKP1559 <- distsf[,142]
dists_select$GRSK_MKP1593__Uria_lomvia <- distsf[,143]
dists_select$LTJA_MKP990__LTJA_MKP990 <- distsf[,144]
dists_select$LTJA_MKP990__PAJA_B20730 <- distsf[,145]
dists_select$LTJA_MKP990__PAJA_USNM606730 <- distsf[,146]
dists_select$LTJA_MKP990__POJA_4 <- distsf[,147]
dists_select$LTJA_MKP990__POJA_IB2659 <- distsf[,148]
dists_select$LTJA_MKP990__POJA_MKP1559 <- distsf[,149]
dists_select$LTJA_MKP990__Uria_lomvia <- distsf[,150]
dists_select$PAJA_B20730__PAJA_B20730 <- distsf[,151]
dists_select$PAJA_B20730__PAJA_USNM606730 <- distsf[,152]
dists_select$PAJA_B20730__POJA_4 <- distsf[,153]
dists_select$PAJA_B20730__POJA_IB2659 <- distsf[,154]
dists_select$PAJA_B20730__POJA_MKP1559 <- distsf[,155]
dists_select$PAJA_B20730__Uria_lomvia <- distsf[,156]
dists_select$PAJA_USNM606730__PAJA_USNM606730 <- distsf[,157]
dists_select$PAJA_USNM606730__POJA_4 <- distsf[,158]
dists_select$PAJA_USNM606730__POJA_IB2659 <- distsf[,159]
dists_select$PAJA_USNM606730__POJA_MKP1559 <- distsf[,160]
dists_select$PAJA_USNM606730__Uria_lomvia <- distsf[,161]
dists_select$POJA_4__POJA_4 <- distsf[,162]
dists_select$POJA_4__POJA_IB2659 <- distsf[,163]
dists_select$POJA_4__POJA_MKP1559 <- distsf[,164]
dists_select$POJA_4__Uria_lomvia <- distsf[,165]
dists_select$POJA_IB2659__POJA_IB2659 <- distsf[,166]
dists_select$POJA_IB2659__POJA_MKP1559 <- distsf[,167]
dists_select$POJA_IB2659__Uria_lomvia <- distsf[,168]
dists_select$POJA_MKP1559__POJA_MKP1559 <- distsf[,169]
dists_select$POJA_MKP1559__Uria_lomvia <- distsf[,170]
dists_select <- as.data.frame(dists_select) %>%
separate(locus, c("chromosome", "start", "end"), "_")
return(dists_select)
}
First, we load the data. This dataset was made with angsd, and has been filtered for a min mapping quality of 20. Note that we have not adequately filtered for missing data yet, and so it will be critical to filter out comparisons with high amounts of missing data while running the final analysis.
#load distances
dists_selecte <- load_distance("allwindows.distmat")
#load missingness
missingness <- load_missingness("chunk.missingness")
#merge distances and missingness into a single dataframe
dists_select1 <- merge(dists_selecte, as.data.frame(missingness), by=c("chromosome","start", "end"))
#tidy the data into a two columns: distance and species pair
dists_sel1 <- as.data.frame(dists_select1) %>%
tidyr::gather("pair", "distance", 4:(length(dists_select1)-(length(missingness)-3)))
dists_sel1$distance <- as.numeric(dists_sel1$distance)
#This is an alternative dataset that you could make, if you were more interested in relative distance than absolute distance:
#correct the distances by standardizing to a calibration point - the deepest split in Stercorariidae
#dists_cor <- as.data.frame(dists_select)
#dists_cor <- dists_cor/as.data.frame(dists_select)$CHSKLTJA
#dists_cor$locus <- dists_select$locus
#dists_cor<- as.data.frame(dists_cor) %>%
# tidyr::gather("pair", "distance", 2:length(dists_cor)) %>%
# separate(locus, c("chromosome", "start", "end"), "_")
Now, choose which dataset to use, and make chromosome and pair into factors in the order that you choose. This order affects the colour and labels of the plots downstream, so should not be changed unless the downstream labels are also changed.
dists_sel<-dists_sel1
dists_select<-dists_select1
#reorder the factors in the column "pairs" so that they appear in the desired order in the legend and correspond with the order of renaming them in the label_list.
dists_sel$chromosome <- factor(dists_sel$chromosome, levels = c("chr1.noN", "chr2.noN", "chr3.noN", "chr4.noN", "chr5.noN", "chr6.noN", "chr7.noN", "chr8.noN", "chr9.noN", "chr10.noN", "chr11.noN", "chr12.noN", "chr13.noN", "chr14.noN", "chr15.noN", "chr16.noN", "chr17.noN", "chr18.noN", "chr19.noN", "chr20.noN", "chr21.noN", "chr22.noN", "chr23.noN", "chr24.noN", "chr25.noN", "chrZ.noN")) # Reordering group factor levels
dists_sel$pair <- factor(dists_sel$pair, levels = c("Alca_torda__Alca_torda", "Alca_torda__CHSK_MKP2451", "Alca_torda__CISK2", "Alca_torda__CISK3", "Alca_torda__CISK55", "Alca_torda__Fratercula_arctica", "Alca_torda__GRSK_MKP1592", "Alca_torda__GRSK_MKP1593", "Alca_torda__LTJA_MKP990", "Alca_torda__PAJA_B20730", "Alca_torda__PAJA_USNM606730", "Alca_torda__POJA_4", "Alca_torda__POJA_IB2659", "Alca_torda__POJA_MKP1559", "ANSK01__Alca_torda", "ANSK01__ANSK01", "ANSK01__ANSK7", "ANSK01__ANSK8", "ANSK01__CHSK_MKP2451", "ANSK01__Fratercula_arctica", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK01__LTJA_MKP990", "ANSK01__PAJA_B20730", "ANSK01__PAJA_USNM606730", "ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "ANSK7__Alca_torda", "ANSK7__ANSK7", "ANSK7__ANSK8", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__Fratercula_arctica", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK7__LTJA_MKP990", "ANSK7__PAJA_B20730", "ANSK7__PAJA_USNM606730", "ANSK7__POJA_4", "ANSK7__POJA_IB2659", "ANSK7__POJA_MKP1559", "ANSK8__Alca_torda", "ANSK8__ANSK8", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__Fratercula_arctica", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "ANSK8__LTJA_MKP990", "ANSK8__PAJA_B20730", "ANSK8__PAJA_USNM606730", "ANSK8__POJA_4", "ANSK8__POJA_IB2659", "ANSK8__POJA_MKP1559", "CHSK_MKP2451__CHSK_MKP2451", "CHSK_MKP2451__Fratercula_arctica", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CHSK_MKP2451__LTJA_MKP990", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CHSK_MKP2451__POJA_4", "CHSK_MKP2451__POJA_IB2659", "CHSK_MKP2451__POJA_MKP1559", "CISK2__CISK2", "CISK2__CISK3", "CISK2__CISK55", "CISK2__Fratercula_arctica", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK2__LTJA_MKP990", "CISK2__PAJA_B20730", "CISK2__PAJA_USNM606730", "CISK2__POJA_4", "CISK2__POJA_IB2659", "CISK2__POJA_MKP1559", "CISK3__CISK3", "CISK3__CISK55", "CISK3__Fratercula_arctica", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK3__LTJA_MKP990", "CISK3__PAJA_B20730", "CISK3__PAJA_USNM606730", "CISK3__POJA_4", "CISK3__POJA_IB2659", "CISK3__POJA_MKP1559", "CISK55__CISK55", "CISK55__Fratercula_arctica", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "CISK55__LTJA_MKP990", "CISK55__PAJA_B20730", "CISK55__PAJA_USNM606730", "CISK55__POJA_4", "CISK55__POJA_IB2659", "CISK55__POJA_MKP1559", "Fratercula_arctica__Fratercula_arctica", "Fratercula_arctica__GRSK_MKP1592", "Fratercula_arctica__GRSK_MKP1593", "Fratercula_arctica__LTJA_MKP990", "Fratercula_arctica__PAJA_B20730", "Fratercula_arctica__PAJA_USNM606730", "Fratercula_arctica__POJA_4", "Fratercula_arctica__POJA_IB2659", "Fratercula_arctica__POJA_MKP1559", "GRSK_MKP1592__GRSK_MKP1592", "GRSK_MKP1592__LTJA_MKP990", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "GRSK_MKP1593__GRSK_MKP1593", "GRSK_MKP1593__LTJA_MKP990", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559", "LTJA_MKP990__LTJA_MKP990", "LTJA_MKP990__PAJA_B20730", "LTJA_MKP990__PAJA_USNM606730", "LTJA_MKP990__POJA_4", "LTJA_MKP990__POJA_IB2659", "LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__PAJA_B20730", "PAJA_B20730__PAJA_USNM606730", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__PAJA_USNM606730", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559", "POJA_4__POJA_4", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_IB2659", "POJA_IB2659__POJA_MKP1559", "POJA_MKP1559__POJA_MKP1559", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55", "GRSK_MKP1592__GRSK_MKP1593")) # Reordering group factor levels
Next, plot the divergence data. With 17 taxa, there are (17*16)/2=136 different possible combinations to look at! We will look at a few at a time to get a picture of the genetic distances amongst our samples and across the genome.
Note that filtering out missing data is not quite as simple as removing individual entries that have too much missing data in a particular comparison. We should remove the entire chunk for all comparisons to avoid bias: what if Sample A is biased towards having more missing data in fast-evolving chunks of the genome? If we don’t remove it for the other samples, then Sample A will be biased towards lower genetic distances! It is fine to visualize the raw data while filtering samples individually, but the published figures will need the more careful filtering.
Before looking at our more interesting patterns, we should check divergence to the outgroup (Alcidae, in our case).
If there are any samples that have lower or higher divergence to the outgroup, that would be a dire red flag and we would need to examine our data and filters for bias. Introgression between the crown Stercorariidae and Alcidae is not biologically plausible as they are too deeply diverged. We do not expect noticeable variation in mutation rate amongst the Stercorariid lineages, although it is possible. If one sample has greatly elevated divergence compared to others, it could be an indication that it has a higher error rate. Note that reference bias can also have an effect, by making a sample appear to have lower divergence to the reference, which can disproportionately bias low depth samples.
#this is my preferred colour palette:
#longicaudus: #e35502
#parasiticus: #f4e400
#pomarinus: #00a26f
#chilensis: #f29b00
#antarcticus: #2fb7e9
#maccormicki: #0076b7
#skua: #d974a9
#chilensis-antarcticus: #b6d887
#Define which pairs you want to plot
#check error rate of skuas. Is there a difference between the Hiseq and Novaseq samples?
#All lines should be nearly perfectly overlapping - you should barely be able to tell that more than one lines is plotted
pairs <- c("ANSK01__Alca_torda", "ANSK7__Alca_torda", "ANSK8__Alca_torda")
label_list <- c("ANSK01__Alca_torda", "ANSK7__Alca_torda", "ANSK8__Alca_torda")
palette <- c("red", "yellow", "orange")
Div.plot(dists_sel, label_list, palette, 0.06, 400)
dists_sel %>%
filter(as.numeric(ANSK01)<200 & as.numeric(ANSK7)<200 & as.numeric(ANSK8)<200 & as.numeric(Alca_torda)<200) %>%
Div.plot(., label_list, palette, 0.06, 400)+
theme(legend.position = "none")
pairs <- c("Alca_torda__CISK2", "Alca_torda__CISK3", "Alca_torda__CISK55")
label_list <- c("Alca_torda__CISK2", "Alca_torda__CISK3", "Alca_torda__CISK55")
palette <- c("red", "yellow", "orange")
Div.plot(dists_sel, label_list, palette, 0.06, 400)
dists_sel %>%
filter(as.numeric(CISK2)<200 & as.numeric(CISK3)<200 & as.numeric(CISK55)<200 & as.numeric(Alca_torda)<200) %>%
Div.plot(., label_list, palette, 0.06, 400)+
theme(legend.position = "none")
pairs <- c("Alca_torda__CHSK_MKP2451", "Alca_torda__GRSK_MKP1592", "Alca_torda__GRSK_MKP1593")
label_list <- c("Alca_torda__CHSK_MKP2451", "Alca_torda__GRSK_MKP1592", "Alca_torda__GRSK_MKP1593")
palette <- c("yellow", "orange", "red")
Div.plot(dists_sel, label_list, palette, 0.06, 400)
dists_sel %>%
filter(as.numeric(GRSK_MKP1592)<200 & as.numeric(GRSK_MKP1593)<200 & as.numeric(CHSK_MKP2451)<200 & as.numeric(Alca_torda)<200) %>%
Div.plot(., label_list, palette, 0.06, 400)+
theme(legend.position = "none")
pairs <- c("Alca_torda__POJA_4", "Alca_torda__POJA_IB2659", "Alca_torda__POJA_MKP1559")
label_list <- c("Alca_torda__POJA_4", "Alca_torda__POJA_IB2659", "Alca_torda__POJA_MKP1559")
palette <- c("yellow", "orange", "red")
Div.plot(dists_sel, label_list, palette, 0.06, 400)
dists_sel %>%
filter(as.numeric(POJA_MKP1559)<200 & as.numeric(POJA_4)<200 & as.numeric(POJA_IB2659)<200 & as.numeric(Alca_torda)<200) %>%
Div.plot(., label_list, palette, 0.06, 400)+
theme(legend.position = "none")
pairs <- c("Alca_torda__LTJA_MKP990", "Alca_torda__PAJA_B20730", "Alca_torda__PAJA_USNM606730")
label_list <- c("Alca_torda__LTJA_MKP990", "Alca_torda__PAJA_B20730", "Alca_torda__PAJA_USNM606730")
palette <- c("yellow", "green", "blue")
Div.plot(dists_sel, label_list, palette, 0.06, 400)
dists_sel %>%
filter(as.numeric(LTJA_MKP990)<200 & as.numeric(PAJA_B20730)<200 & as.numeric(PAJA_USNM606730)<200) %>%
Div.plot(., label_list, palette, 0.06, 400)+
theme(legend.position = "none")
pairs <- c("Alca_torda__GRSK_MKP1592", "Alca_torda__GRSK_MKP1593", "Fratercula_arctica__GRSK_MKP1592", "Fratercula_arctica__GRSK_MKP1593")
label_list <- c("Alca_torda__GRSK_MKP1592", "Alca_torda__GRSK_MKP1593", "Fratercula_arctica__GRSK_MKP1592", "Fratercula_arctica__GRSK_MKP1593")
palette <- c("yellow", "orange", "green", "blue")
Div.plot(dists_sel, label_list, palette, 0.06, 400)
dists_sel %>%
filter(as.numeric(GRSK_MKP1592)<200 & as.numeric(GRSK_MKP1593)<200 & as.numeric(Fratercula_arctica)<200 & as.numeric(Alca_torda)<200) %>%
Div.plot(., label_list, palette, 0.06, 400)+
theme(legend.position = "none")
Our unfiltered data shows some discrepancies between samples, but after filtering for mising data, the samples are almost indistinguishable in their patterns of divergence to the Alcid. The effect of filtering is most noticeable on POJA_MKP1559, which had a slightly higher divergence to the Alcid than POJA_4 or POJA_IB2659, but this difference disappeared after filtering out sites with a lot of missing data. There were also some very slight differences between the two PAJA and one LTJA samples. Amongst the Alcids, the divergence between Alca and the Stercorariids is higher than between Fratercula and the Stercorariids even after filtering for missing data. Note that Alca had almost four times more data than Fratercula, and Fratercula is missing twice as many genotype calls - perhaps Fratercula had bias against derived allele calls (although it is possible that the Alca lineage really had a higher mutation rate than the Fratercula lineage). I am not using Fratercula in this project, so this is not a concern, I have just been carrying it through my analyses in order to double-check that results are not sensitive to choice of outgroup.
Now that we have more confidence in our data, we can look at the divergences of interest.
#First, we will look at distances amongst the Catharacta-like skuas
pairs <- c("ANSK01__CHSK_MKP2451", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55")
label_list<-c("chilensis-maccormicki", "maccormicki-skua", "maccormicki-skua", "chilensis-maccormicki", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-skua", "maccormicki-skua", "chilensis-maccormicki", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-skua", "maccormicki-skua", "chilensis-skua", "chilensis-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "chilensis-antarcticus", "chilensis-antarcticus", "chilensis-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus")
palette <- c("#7c7c48", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#e68854", "#e68854", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#b6d887", "#b6d887", "#b6d887", "#00bdff", "#00bdff", "#00bdff")
Div.plot(dists_sel, label_list, palette, 0.006, 400) +
theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300) %>%
Div.plot(., label_list, palette, 0.006, 400)+
theme(legend.position = "none")
#ggsave("GeneticDistances_withinCatharacta_rollmean400.pdf", width=3456, height=2234, units="px")
#Next, we will look at diversity within the Catharacta species. Will it be much lower than between the Catharacta species? Note that we have only one chilensis, so cannot look at diversity within chilensis (except for heterozygosity of this one sample)
pairs <- c("ANSK01__ANSK7", "ANSK01__ANSK8", "ANSK7__ANSK8", "CISK2__CISK3", "CISK2__CISK55", "CISK3__CISK55", "GRSK_MKP1592__GRSK_MKP1593")
label_list<-c("ANSK01__ANSK7", "ANSK01__ANSK8", "ANSK7__ANSK8", "CISK2__CISK3", "CISK2__CISK55", "CISK3__CISK55", "GRSK_MKP1592__GRSK_MKP1593")
palette <- c("#0076b7", "#0076b7", "#0076b7", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#d973a9")
Div.plot(dists_sel, label_list, palette, 0.005, 400)+
theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300) %>%
Div.plot(., label_list, palette, 0.005, 400)+
theme(legend.position = "none")
#ggsave("GeneticDistances_withinspeciesCatharacta_rollmean400.pdf", width=3456, height=2234, units="px")
#Now we will combine the within and between species diversity of Catharacta on the same plot
pairs <- c("ANSK01__ANSK7", "ANSK01__ANSK8", "ANSK7__ANSK8", "ANSK01__CHSK_MKP2451", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CISK2__CISK2", "CISK2__CISK3", "CISK2__CISK55", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55", "GRSK_MKP1592__GRSK_MKP1593")
label_list<-c("chilensis-maccormicki", "maccormicki-skua", "maccormicki-skua", "chilensis-maccormicki", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-skua", "maccormicki-skua", "chilensis-maccormicki", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-skua", "maccormicki-skua", "chilensis-skua", "chilensis-skua", "CISK2__CISK3", "CISK2__CISK55", "CISK3__CISK55", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "chilensis-antarcticus", "chilensis-antarcticus", "chilensis-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "skua-skua")
palette <- c("#0076b7", "#0076b7", "#0076b7", "#7c7c48", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#e68854", "#e68854", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#b6d887", "#b6d887", "#b6d887", "#00bdff", "#00bdff", "#00bdff", "#d973a9")
#Div.plot(dists_sel, label_list, palette, 0.008, 400)+
# theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300) %>%
Div.plot(., label_list, palette, 0.008, 400)+
theme(legend.position = "none")
#ggsave("GeneticDistances_withinandbetweenCatharacta_rollmean400.pdf", width=3456, height=2234, units="px")
#Next we should look at divergence between Catharacta and Pomarine Jaeger
pairs <- c("ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "ANSK7__POJA_4", "ANSK7__POJA_IB2659", "ANSK7__POJA_MKP1559", "ANSK8__POJA_4", "ANSK8__POJA_IB2659", "ANSK8__POJA_MKP1559", "CHSK_MKP2451__POJA_4", "CHSK_MKP2451__POJA_IB2659", "CHSK_MKP2451__POJA_MKP1559", "CISK2__POJA_4", "CISK2__POJA_IB2659", "CISK2__POJA_MKP1559", "CISK3__POJA_4", "CISK3__POJA_IB2659", "CISK3__POJA_MKP1559", "CISK55__POJA_4", "CISK55__POJA_IB2659", "CISK55__POJA_MKP1559", "GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559")
label_list<- c("ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "ANSK7__POJA_4", "ANSK7__POJA_IB2659", "ANSK7__POJA_MKP1559", "ANSK8__POJA_4", "ANSK8__POJA_IB2659", "ANSK8__POJA_MKP1559", "CHSK_MKP2451__POJA_4", "CHSK_MKP2451__POJA_IB2659", "CHSK_MKP2451__POJA_MKP1559", "CISK2__POJA_4", "CISK2__POJA_IB2659", "CISK2__POJA_MKP1559", "CISK3__POJA_4", "CISK3__POJA_IB2659", "CISK3__POJA_MKP1559", "CISK55__POJA_4", "CISK55__POJA_IB2659", "CISK55__POJA_MKP1559", "GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559")
palette <- c("#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#f29b02", "#f29b02", "#f29b02", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#d973a9", "#d973a9", "#d973a9", "#e68854", "#d973a9", "#d7caff")
Div.plot(dists_sel, label_list, palette, 0.008, 400)+
theme(legend.position = "none")
dists_sel1 %>%
#filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(LTJA_MKP990)<300) %>% #filter out blocks with too much missing data in any Stercorariid
Div.plot(., label_list, palette, 0.008, 400)+
theme(legend.position = "none")
#There were a lot of lines on that previous plot
#Let's just use GRSK_MKP1593 to represent Catharacta and get an easier look at the data
pairs <- c("GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_MKP1559")
label_list <- c("GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_MKP1559")
palette<- c("#e68854", "#d973a9", "#d7caff", "green", "blue", "blue")
#keep in mind that both GRSK_MKP1593 and POJA_MKP1559 are male; they show lower dxy in the 5' end of chrZ, where the females have homologous chrW sequence that maps and inflates dxy
Div.plot(dists_sel, label_list, palette, 0.008, 400)+
theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.008, 400)+
theme(legend.position = "none")
#There were a lot of lines on that previous plot
#Let's just use GRSK_MKP1592 to represent Catharacta and get an easier look at the data
pairs <- c("GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_MKP1559")
label_list <- c("GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_MKP1559")
palette<- c("#e68854", "#d973a9", "#d7caff", "green", "blue", "blue")
dists_sel %>%
filter(as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.008, 400)+
theme(legend.position = "none")
#Now let's use POJA_4 to represent pomarinus and look at POJA_4 sample vs pomarine or any Catharacta
pairs <- c("ANSK01__POJA_4", "ANSK7__POJA_4", "ANSK8__POJA_4", "CHSK_MKP2451__POJA_4", "CISK2__POJA_4", "CISK3__POJA_4", "CISK55__POJA_4", "GRSK_MKP1592__POJA_4", "GRSK_MKP1593__POJA_4", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_MKP1559")
pairs <- c("ANSK01__POJA_4", "ANSK7__POJA_4", "ANSK8__POJA_4", "CHSK_MKP2451__POJA_4", "CISK2__POJA_4", "CISK3__POJA_4", "CISK55__POJA_4", "GRSK_MKP1592__POJA_4", "GRSK_MKP1593__POJA_4", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559", "POJA_IB2659__POJA_MKP1559")
palette<- c("red", "red", "red", "red", "red", "red", "red", "red", "red", "green", "blue", "purple")
Div.plot(dists_sel, label_list, palette, 0.008, 400)+
theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.008, 400)+
theme(legend.position = "none")
#Let's look at POJA vs skua on the same scale as skua vs skua:
pairs <- c("ANSK01__ANSK01","ANSK01__ANSK7","ANSK01__ANSK8", "ANSK01__CHSK_MKP2451", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CISK2__CISK2", "CISK2__CISK3", "CISK2__CISK55", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "POJA_4__POJA_IB2659", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55", "GRSK_MKP1592__GRSK_MKP1593")
label_list<- c("ANSK01__ANSK01","ANSK01__ANSK7","ANSK01__ANSK8", "ANSK01__CHSK_MKP2451", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CISK2__CISK2", "CISK2__CISK3", "CISK2__CISK55", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "POJA_4__POJA_IB2659", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55", "GRSK_MKP1592__GRSK_MKP1593")
palette <- c("#0076b7", "#0076b7", "#0076b7", "#7c7c48", "#6e6daf", "#6e6daf", "green", "green", "green", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#e68854", "#e68854", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "blue", "#b6d887", "#b6d887", "#b6d887", "#00bdff", "#00bdff", "#00bdff", "#d973a9")
Div.plot(dists_sel, label_list, palette, 0.008, 400)+
theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.008, 400)+
theme(legend.position = "none")
#Finally, we can look at divergences between the skuas and the small jaegers?
#First, focus on pomarinus
pairs <- c("LTJA_MKP990__POJA_4", "LTJA_MKP990__POJA_IB2659", "LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
label_list<-c("LTJA_MKP990__POJA_4", "LTJA_MKP990__POJA_IB2659", "LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
palette<- c("#e68854", "#d973a9", "#d7caff", "green", "blue", "purple", "red", "orange", "yellow")
Div.plot(dists_sel, label_list, palette, 0.03, 400)
dists_sel %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.03, 400)+
theme(legend.position = "none")
#Then, add in the Catharacta
pairs <- c("ANSK01__PAJA_B20730", "ANSK01__PAJA_USNM606730", "ANSK7__PAJA_B20730", "ANSK7__PAJA_USNM606730", "ANSK8__PAJA_B20730", "ANSK8__PAJA_USNM606730", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CISK2__PAJA_B20730", "CISK2__PAJA_USNM606730", "CISK3__PAJA_B20730", "CISK3__PAJA_USNM606730", "CISK55__PAJA_B20730", "CISK55__PAJA_USNM606730", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "LTJA_MKP990__PAJA_B20730", "LTJA_MKP990__PAJA_USNM606730", "PAJA_B20730__PAJA_USNM606730", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
label_list <- c("ANSK01__PAJA_B20730", "ANSK01__PAJA_USNM606730", "ANSK7__PAJA_B20730", "ANSK7__PAJA_USNM606730", "ANSK8__PAJA_B20730", "ANSK8__PAJA_USNM606730", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CISK2__PAJA_B20730", "CISK2__PAJA_USNM606730", "CISK3__PAJA_B20730", "CISK3__PAJA_USNM606730", "CISK55__PAJA_B20730", "CISK55__PAJA_USNM606730", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "LTJA_MKP990__PAJA_B20730", "LTJA_MKP990__PAJA_USNM606730", "PAJA_B20730__PAJA_USNM606730", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
palette<- c("green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "green", "blue", "blue", "orange", "purple", "purple", "purple", "purple", "purple", "purple")
Div.plot(dists_sel, label_list, palette, 0.03, 400)+
theme(legend.position = "none")
dists_sel %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.03, 400)+
theme(legend.position = "none")
NOTE: the genetic distance is output as a percent by Emboss, meaning that a distance of 0.5 is equal to 0.5% divergence, not 50% divergence. I have changed the axes to provide decimal fractions (ie, 0.005 instead of 0.5), because genetic distance is more often presented as a decimal rather than a percent by convention.
After looking at the raw data in many combinations, here are the three plots that I will present in my paper, that I believe best display the most important patterns. Figure numbers are tentative pending publication.
#Figure S7. Divergences across the genomes of S. parasiticus, S. pomarinus, S. skua, and S. chilensis are inconsistent with a hybrid speciation scenario. S. parasiticus shows similar levels of divergence to all three taxa across the genome (green, purple, orange; overlapping), with no indication of lower divergence with S. pomarinus (green). Similarly, S. pomarinus shows similar genetic distances to both S. skua (blue) and S. chilensis (yellow; overlapping) that are higher than the distance between S. skua and S. chilensis (pink). Genetic distance was calculated in 5-kb windows using Kimura 2-parameter distances, and lines were smoothed using a rolling mean with a window size of 2000 kb.
pairs <- c("CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CHSK_MKP2451__POJA_4", "CHSK_MKP2451__POJA_IB2659", "CHSK_MKP2451__POJA_MKP1559", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
label_list <- c("CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CHSK_MKP2451__POJA_4", "CHSK_MKP2451__POJA_IB2659", "CHSK_MKP2451__POJA_MKP1559", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "GRSK_MKP1592__POJA_4", "GRSK_MKP1592__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559", "GRSK_MKP1593__POJA_4", "GRSK_MKP1593__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
palette<- c("#5f4637", "#5f4637", "yellow", "yellow", "#f29b00", "#f29b00", "#f29b00", "blue", "blue", "#d974a9", "#d974a9", "#d974a9", "blue", "blue", "#d974a9", "#d974a9", "#d974a9", "#00a26f", "#00a26f", "#00a26f", "#00a26f", "#00a26f", "#00a26f")
#Div.plot(dists_sel, label_list, palette, 0.03, 400)#quick check that the colours are correctly assigned
dists_sel %>%
filter(as.numeric(PAJA_USNM606730)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.03, 200)+
theme(legend.position = "none")
#ggsave("FigureS7_filtered_rollmean200.pdf", width=3456, height=2234, units="px")
#Figure S8. Relative divergences across the genomes of the Catharacta-like skuas (S. skua, S. antarcticus, S. maccormicki and S. chilensis). Divergences amongst all species are highly concordant between all pairs across the genome.
pairs <- c("ANSK01__CHSK_MKP2451", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55")
label_list<-c("chilensis-maccormicki", "maccormicki-skua", "maccormicki-skua", "chilensis-maccormicki", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-skua", "maccormicki-skua", "chilensis-maccormicki", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-skua", "maccormicki-skua", "chilensis-skua", "chilensis-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "antarcticus-skua", "chilensis-antarcticus", "chilensis-antarcticus", "chilensis-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus", "maccormicki-antarcticus")
palette <- c("#7c7c48", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#7c7c48", "#00bdff", "#00bdff", "#00bdff", "#6e6daf", "#6e6daf", "#e68854", "#e68854", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#d7caff", "#b6d887", "#b6d887", "#b6d887", "#00bdff", "#00bdff", "#00bdff")
dists_sel %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300) %>%
Div.plot(., label_list, palette, 0.008, 200)+
theme(legend.position = "none")
#ggsave("FigureS8_filtered_rollmean200.pdf", width=3456, height=2234, units="px")
#Figure S9. No evidence for introgression between S. pomarinus and the small jaegers. Genealogy interrogation revealed that very few genomic windows place S. pomarinus closer to S. longicaudus (A) or S. parasiticus (B) than to S. skua, and these are not significantly higher than the alternate discordant topology. Each corner of the triangles represents one of three possible topologies involving S. pomarinus, S. skua, and S. longicaudus (A) or S. parasiticus (B). The relative likelihood of the topologies are plotted as points for each 5-kb window of the genome; points in the center show no difference in likelihood between the three topologies and points near the corners strongly support either the species topology (T1, bottom left) or one of the discordant topologies placing the small jaeger sister to S. pomarinus (T2, bottom right) or to S. skua (T3, top). The numbers at each corner report the number of gene trees that support (delta likelihood > 0) or strongly support (delta likelihood > 10, in brackets) the corresponding topology, and the numbers along the edges compare the number of gene trees that show higher likelihood for either of the pair of topologies. (C) The genetic distance measures used to calculate D3 are shown plotted across the genome for all comparisons involving the small jaegers (S. parasiticus and S. longicaudus). The genetic distance between S. pomarinus and the small jaegers is highly similar to, and not lower than, the genetic distance between the Catharacta-like skuas and the small jaegers across the genome. The genetic distance between S. parasiticus and S. longicaudus is also plotted for reference.
#Then, add in the Catharacta
pairs <- c("ANSK01__PAJA_B20730", "ANSK01__PAJA_USNM606730", "ANSK7__PAJA_B20730", "ANSK7__PAJA_USNM606730", "ANSK8__PAJA_B20730", "ANSK8__PAJA_USNM606730", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CISK2__PAJA_B20730", "CISK2__PAJA_USNM606730", "CISK3__PAJA_B20730", "CISK3__PAJA_USNM606730", "CISK55__PAJA_B20730", "CISK55__PAJA_USNM606730", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "LTJA_MKP990__PAJA_B20730", "LTJA_MKP990__PAJA_USNM606730", "LTJA_MKP990__POJA_4", "LTJA_MKP990__POJA_IB2659", "LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
label_list <- c("ANSK01__PAJA_B20730", "ANSK01__PAJA_USNM606730", "ANSK7__PAJA_B20730", "ANSK7__PAJA_USNM606730", "ANSK8__PAJA_B20730", "ANSK8__PAJA_USNM606730", "CHSK_MKP2451__PAJA_B20730", "CHSK_MKP2451__PAJA_USNM606730", "CISK2__PAJA_B20730", "CISK2__PAJA_USNM606730", "CISK3__PAJA_B20730", "CISK3__PAJA_USNM606730", "CISK55__PAJA_B20730", "CISK55__PAJA_USNM606730", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1592__PAJA_USNM606730", "GRSK_MKP1593__PAJA_B20730", "GRSK_MKP1593__PAJA_USNM606730", "LTJA_MKP990__PAJA_B20730", "LTJA_MKP990__PAJA_USNM606730", "LTJA_MKP990__POJA_4", "LTJA_MKP990__POJA_IB2659", "LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
palette<- c("#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#0076b7", "#f29b02", "#f29b02", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#2cb7e9", "#d973a9", "#d973a9", "#d973a9", "#d973a9", "#dbcc00", "#dbcc00", "#e55501", "#e55501", "#e55501", "#05a16f", "#05a16f", "#05a16f", "#05a16f", "#05a16f", "#05a16f")
#Div.plot(dists_sel, label_list, palette, 0.03, 400)
dists_sel %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300) %>%
Div.plot(., label_list, palette, 0.03, 200)+
theme(legend.position = "none")
#ggsave("FigureS9_filtered_rollmean200.pdf", width=3456, height=2234, units="px")
I am editing the Figures by hand (these things could be done by R, but periodically caused an error that required my R session to restart, so it is faster for me to do by hand)
* change fonts to Times New Roman
* change axis label font size to 18
* change Y axis text size to 12
* add a custom legend
Next, we can look at density plots.
#Now plot some density plots to see if there is anything notable in the data
# First, just look at the distribution of divergence to the outgroup to identify possible issues
pairs<- c("ANSK01__Alca_torda", "ANSK7__Alca_torda", "ANSK8__Alca_torda", "Alca_torda__CHSK_MKP2451", "Alca_torda__CISK2", "Alca_torda__CISK3", "Alca_torda__CISK55", "Alca_torda__Fratercula_arctica", "Alca_torda__GRSK_MKP1592", "Alca_torda__GRSK_MKP1593", "Alca_torda__LTJA_MKP990", "Alca_torda__PAJA_B20730", "Alca_torda__PAJA_USNM606730", "Alca_torda__POJA_4", "Alca_torda__POJA_IB2659", "Alca_torda__POJA_MKP1559")
xlimit<-8
as.data.frame(dists_sel) %>%
filter(pair %in% pairs) %>%
ggplot(.)+ #initialize a ggplot
geom_density(aes(x=distance, colour=pair, fill=pair),alpha=0.1)+ #plot a density histogram of sequence divergence values, and colour by specie comparison
theme_classic()+ #simplify plot
xlim(0,xlimit)+ #cutoff at high values
xlab("Genetic distance (Kimura 2-parameter)")+ #write x axis lable
ylab("Density of 5-kb Windows") #write y axis label
pairs <- c("ANSK01__PAJA_B20730", "ANSK7__PAJA_B20730", "ANSK8__PAJA_B20730", "CHSK_MKP2451__PAJA_B20730", "CISK2__PAJA_B20730", "CISK3__PAJA_B20730", "CISK55__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559")
xlimit<- 4
as.data.frame(dists_sel) %>%
filter(pair %in% pairs) %>%
ggplot(.)+ #initialize a ggplot
geom_density(aes(x=distance, colour=pair, fill=pair),alpha=0.1)+ #plot a density histogram of sequence divergence values, and colour by specie comparison
theme_classic()+ #simplify plot
xlim(0,xlimit)+ #cutoff at high values
xlab("Genetic distance (Kimura 2-parameter)")+ #write x axis lable
ylab("Density of 5-kb Windows") #write y axis label
pairs <- c("LTJA_MKP990__POJA_4", "LTJA_MKP990__POJA_IB2659", "LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__POJA_4", "PAJA_B20730__POJA_IB2659", "PAJA_B20730__POJA_MKP1559", "PAJA_USNM606730__POJA_4", "PAJA_USNM606730__POJA_IB2659", "PAJA_USNM606730__POJA_MKP1559")
xlimit<- 4
as.data.frame(dists_sel) %>%
filter(pair %in% pairs) %>%
ggplot(.)+ #initialize a ggplot
geom_density(aes(x=distance, colour=pair, fill=pair),alpha=0.1)+ #plot a density histogram of sequence divergence values, and colour by specie comparison
theme_classic()+ #simplify plot
xlim(0,xlimit)+ #cutoff at high values
xlab("Genetic distance (Kimura 2-parameter)")+ #write x axis lable
ylab("Density of 5-kb Windows") #write y axis label
#Look at divergence amongst Catharacta and pomarinus
pairs <- c("ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "POJA_4__POJA_IB2659", "POJA_4__POJA_MKP1559")
xlimit<- 2
as.data.frame(dists_sel) %>%
filter(pair %in% pairs) %>%
ggplot(.)+ #initialize a ggplot
geom_density(aes(x=distance, colour=pair, fill=pair),alpha=0.1)+ #plot a density histogram of sequence divergence values, and colour by specie comparison
theme_classic()+ #simplify plot
xlim(0,xlimit)+ #cutoff at high values
xlab("Genetic distance (Kimura 2-parameter)")+ #write x axis lable
ylab("Density of 5-kb Windows") #write y axis label
pairs <- c("ANSK01__ANSK01","ANSK01__ANSK7","ANSK01__ANSK8", "ANSK01__CHSK_MKP2451", "ANSK01__GRSK_MKP1592", "ANSK01__GRSK_MKP1593", "ANSK01__POJA_4", "ANSK01__POJA_IB2659", "ANSK01__POJA_MKP1559", "ANSK7__CHSK_MKP2451", "ANSK7__CISK2", "ANSK7__CISK3", "ANSK7__CISK55", "ANSK7__GRSK_MKP1592", "ANSK7__GRSK_MKP1593", "ANSK8__CHSK_MKP2451", "ANSK8__CISK2", "ANSK8__CISK3", "ANSK8__CISK55", "ANSK8__GRSK_MKP1592", "ANSK8__GRSK_MKP1593", "CHSK_MKP2451__GRSK_MKP1592", "CHSK_MKP2451__GRSK_MKP1593", "CISK2__CISK2", "CISK2__CISK3", "CISK2__CISK55", "CISK2__GRSK_MKP1592", "CISK2__GRSK_MKP1593", "CISK3__GRSK_MKP1592", "CISK3__GRSK_MKP1593", "CISK55__GRSK_MKP1592", "CISK55__GRSK_MKP1593", "POJA_4__POJA_IB2659", "CHSK_MKP2451__CISK2", "CHSK_MKP2451__CISK3", "CHSK_MKP2451__CISK55", "ANSK01__CISK2", "ANSK01__CISK3", "ANSK01__CISK55", "GRSK_MKP1592__GRSK_MKP1593")
xlimit<- 2
as.data.frame(dists_sel) %>%
filter(pair %in% pairs) %>% #look at relationships of skuas to the outgroup
ggplot(.)+ #initialize a ggplot
geom_density(aes(x=distance, colour=pair, fill=pair),alpha=0.1)+ #plot a density histogram of sequence divergence values, and colour by specie comparison
theme_classic()+ #simplify plot
xlim(0,xlimit)+ #cutoff at high values
xlab("Genetic distance (Kimura 2-parameter)")+ #write x axis lable
ylab("Density of 5-kb Windows") #write y axis label
#It should look like a single distribution, relatively normal (not bimodal), and with all the plots overlapping closely. That is what we see.
#I saved this plot as Histogram_Distance_skua_Alca.png in this repository
#There are 4 sets of right-skewed distributions: one for divergence amongst the Catharacta skuas, one for Catharacta vs S. pomarinus, one for long-tailed vs parasitic jaeger, and one for the Catharacta skuas or *S. pomarinus* with the 2 small jaegers (*S. longicaudus* and *S. parasiticus*). If there is anything particularly interesting, you can look at it in more detail (select the pair of interest, maybe rescale the axes) but everything looks as expected.
#If there were bimodal distributions, that could indicate waves of introgression - or even hybrid speciation! (BUT - be careful, make sure these patterns are not due to artifacts in the data!)
The divergences between each pair involving S. skua, S. antarcticus, S. chilensis, and S. maccormicki show remarkably concordant levels of sequence divergence, with the lines overlapping almost to the point of obscuring the fact that multiple different lines are plotted in the graph. Generally, sequence divergence should accumulate gradually over time after species divergence, and so the more deeply diverged species should show greater sequence divergence. Instead, we see essentially no signal regarding which species pair is more closely or more distantly related, suggesting that the population diverged from each other in very rapid succession.
Also note that sequence divergence between the samples is only slightly higher than the heterozygosity within samples.
Now we can estimate D2. I am not using this analysis for the project, but am keeping the code in my Rmd file as an example workflow to estimate it from the data.
Next, I want to calculate the D3 statistic.
D3 is a test analogous to the ABBA BABA test in philosophy, and it has a similar power to ABBA BABA and so forms a nice complementary way to test for introgression by using a different type of data than ABBA BABA. This test is described in the paper “A Three-Sample Test for Introgression” 2019.
Rather than using counts of shared derived alleles like ABBA BABA, D3 uses branch lengths. For a set of three taxa (of which two, P1 and P2, are sister relative to the third P3) you are testing for introgression between either P1 or P2 with P3. The data are some measure of divergence (branch lengths, coalescence time, genetic distance) between the three taxa for many gene trees. Without introgression, the distribution of distances separating P1 from P3 should be equal to the distribution of distances separating P2 from P3. However, if there was introgression between P2 and P3, then the distance distribution between P2 and P3 should be skewed lower than between P1 and P3. This is incorporated into a statistic called D3: D3=(dbc - dac)/(dbc + dac) (where a=P1, b=P2, and c=P3). Negative value suggests introgression between b and c; positive between a and c.
Firstly, a couple notes:
In addition to D3, I am calculating the proportion of loci that have D3>0. With no introgression this should be around 0.5, and with introgression it may be higher or lower depending on the direction, but not too much different from 0.5. With bias or errors in the data, it may deviate strongly from 0.5.
Again, I am doing this in R. My strategy is to first specify the column of data that I want to be used as dbc and dac in the formula, make a temporary dataframe that is filtered to remove sites with too much missing data in these taxa, and then calculate D3 Since I have multiple samples per taxin, I will calculate D3 for every possible combination by making a list of each combination and then looping through this list. I can then calculate the mean across all combinations.
In this code chunk, I calculate D3 for al trios within the S. pomarinus + Catharacta clade.
#First, get data into the correct format
#tidy the data into a dataframe, but don't reorganize as before
# calculate D3
# D3=(d_bc - d_ac)/(d_bc + d_ac)
# negative value suggests introgression between b and c; positive between a and c.
#Now, just go through the data and calculate D3 for any comparison you want.
#calculate D3 with the distance matrices as outlined in the D3 paper
#Introgression between maccormicki and antarcticus:
#P1 (a) = chilensis
#P2 (b) = antarcticus
#P3 (c) = maccormicki
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__CHSK_MKP2451", "ANSK01__CISK2")
comp2 <- c("ANSK01__CHSK_MKP2451", "ANSK01__CISK55")
comp3 <- c("ANSK01__CHSK_MKP2451", "ANSK01__CISK3")
comp4 <- c("ANSK8__CHSK_MKP2451", "ANSK01__CISK2")
comp5 <- c("ANSK8__CHSK_MKP2451", "ANSK01__CISK55")
comp6 <- c("ANSK8__CHSK_MKP2451", "ANSK01__CISK3")
comp7 <- c("ANSK7__CHSK_MKP2451", "ANSK01__CISK2")
comp8 <- c("ANSK7__CHSK_MKP2451", "ANSK01__CISK55")
comp9 <- c("ANSK7__CHSK_MKP2451", "ANSK01__CISK3")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
chilensis.antarcticus.maccormicki.D3_matrix<-NULL
chilensis.antarcticus.maccormicki.means<-NULL
chilensis.antarcticus.maccormicki.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
chilensis.antarcticus.maccormicki.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.antarcticus.maccormicki.means[[i]]<- mean(chilensis.antarcticus.maccormicki.D3_matrix[[i]][!is.infinite(chilensis.antarcticus.maccormicki.D3_matrix[[i]])], na.rm = TRUE)
chilensis.antarcticus.maccormicki.props[[i]]<- sum(chilensis.antarcticus.maccormicki.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.antarcticus.maccormicki.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.antarcticus.maccormicki.D3_matrix[[i]]<0, na.rm=TRUE))
}
#this next trio is an alternative species topology for the maccormicki-antarcticus-chilensis trio
#P1 (a) = maccormicki
#P2 (b) = antarcticus
#P3 (c) = chilensis
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__CHSK_MKP2451", "CHSK_MKP2451__CISK2")
comp2 <- c("ANSK01__CHSK_MKP2451", "CHSK_MKP2451__CISK3")
comp3 <- c("ANSK01__CHSK_MKP2451", "CHSK_MKP2451__CISK55")
comp4 <- c("ANSK8__CHSK_MKP2451", "CHSK_MKP2451__CISK2")
comp5 <- c("ANSK8__CHSK_MKP2451", "CHSK_MKP2451__CISK3")
comp6 <- c("ANSK8__CHSK_MKP2451", "CHSK_MKP2451__CISK55")
comp7 <- c("ANSK7__CHSK_MKP2451", "CHSK_MKP2451__CISK2")
comp8 <- c("ANSK7__CHSK_MKP2451", "CHSK_MKP2451__CISK3")
comp9 <- c("ANSK7__CHSK_MKP2451", "CHSK_MKP2451__CISK55")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
maccormicki.antarcticus.chilensis.D3_matrix<-NULL
maccormicki.antarcticus.chilensis.means<-NULL
maccormicki.antarcticus.chilensis.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
maccormicki.antarcticus.chilensis.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.antarcticus.chilensis.means[[i]]<- mean(maccormicki.antarcticus.chilensis.D3_matrix[[i]][!is.infinite(maccormicki.antarcticus.chilensis.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.antarcticus.chilensis.props[[i]]<- sum(maccormicki.antarcticus.chilensis.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.antarcticus.chilensis.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.antarcticus.chilensis.D3_matrix[[i]]<0, na.rm=TRUE))
}
#this next trio is an alternative species topology for the maccormicki-antarcticus-chilensis trio
#P1 (a) = maccormicki
#P2 (b) = chilensis
#P3 (c) = antarcticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__CISK2", "CHSK_MKP2451__CISK2")
comp2 <- c("ANSK01__CISK3", "CHSK_MKP2451__CISK3")
comp3 <- c("ANSK01__CISK55", "CHSK_MKP2451__CISK55")
comp4 <- c("ANSK8__CISK2", "CHSK_MKP2451__CISK2")
comp5 <- c("ANSK8__CISK3", "CHSK_MKP2451__CISK3")
comp6 <- c("ANSK8__CISK55", "CHSK_MKP2451__CISK55")
comp7 <- c("ANSK7__CISK2", "CHSK_MKP2451__CISK2")
comp8 <- c("ANSK7__CISK3", "CHSK_MKP2451__CISK3")
comp9 <- c("ANSK7__CISK55", "CHSK_MKP2451__CISK55")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
maccormicki.chilensis.antarcticus.D3_matrix<-NULL
maccormicki.chilensis.antarcticus.means<-NULL
maccormicki.chilensis.antarcticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
maccormicki.chilensis.antarcticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.chilensis.antarcticus.means[[i]]<- mean(maccormicki.chilensis.antarcticus.D3_matrix[[i]][!is.infinite(maccormicki.chilensis.antarcticus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.chilensis.antarcticus.props[[i]]<- sum(maccormicki.chilensis.antarcticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.chilensis.antarcticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.chilensis.antarcticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between skua and antarcticus:
#P1 (a) = maccormicki
#P2 (b) = antarcticus
#P3 (c) = skua
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__GRSK_MKP1592", "CISK2__GRSK_MKP1592")
comp2 <- c("ANSK7__GRSK_MKP1592", "CISK2__GRSK_MKP1592")
comp3 <- c("ANSK8__GRSK_MKP1592", "CISK2__GRSK_MKP1592")
comp4 <- c("ANSK01__GRSK_MKP1592", "CISK3__GRSK_MKP1592")
comp5 <- c("ANSK7__GRSK_MKP1592", "CISK3__GRSK_MKP1592")
comp6 <- c("ANSK8__GRSK_MKP1592", "CISK3__GRSK_MKP1592")
comp7 <- c("ANSK01__GRSK_MKP1592", "CISK55__GRSK_MKP1592")
comp8 <- c("ANSK7__GRSK_MKP1592", "CISK55__GRSK_MKP1592")
comp9 <- c("ANSK8__GRSK_MKP1592", "CISK55__GRSK_MKP1592")
comp10 <- c("ANSK01__GRSK_MKP1593", "CISK2__GRSK_MKP1593")
comp11 <- c("ANSK7__GRSK_MKP1593", "CISK2__GRSK_MKP1593")
comp12 <- c("ANSK8__GRSK_MKP1593", "CISK2__GRSK_MKP1593")
comp13 <- c("ANSK01__GRSK_MKP1593", "CISK3__GRSK_MKP1593")
comp14 <- c("ANSK7__GRSK_MKP1593", "CISK3__GRSK_MKP1593")
comp15 <- c("ANSK8__GRSK_MKP1593", "CISK3__GRSK_MKP1593")
comp16 <- c("ANSK01__GRSK_MKP1593", "CISK55__GRSK_MKP1593")
comp17 <- c("ANSK7__GRSK_MKP1593", "CISK55__GRSK_MKP1593")
comp18 <- c("ANSK8__GRSK_MKP1593", "CISK55__GRSK_MKP1593")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18)
maccormicki.antarcticus.skua.D3_matrix<-NULL
maccormicki.antarcticus.skua.means<-NULL
maccormicki.antarcticus.skua.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
maccormicki.antarcticus.skua.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.antarcticus.skua.means[[i]]<- mean(maccormicki.antarcticus.skua.D3_matrix[[i]][!is.infinite(maccormicki.antarcticus.skua.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.antarcticus.skua.props[[i]]<- sum(maccormicki.antarcticus.skua.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.antarcticus.skua.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.antarcticus.skua.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = antarcticus
#P3 (c) = skua
comp1 <- c("CHSK_MKP2451__GRSK_MKP1592", "CISK2__GRSK_MKP1592")
comp2 <- c("CHSK_MKP2451__GRSK_MKP1592", "CISK3__GRSK_MKP1592")
comp3 <- c("CHSK_MKP2451__GRSK_MKP1592", "CISK55__GRSK_MKP1592")
comp4 <- c("CHSK_MKP2451__GRSK_MKP1593", "CISK2__GRSK_MKP1593")
comp5 <- c("CHSK_MKP2451__GRSK_MKP1593", "CISK3__GRSK_MKP1593")
comp6 <- c("CHSK_MKP2451__GRSK_MKP1593", "CISK55__GRSK_MKP1593")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
chilensis.antarcticus.skua.D3_matrix<-NULL
chilensis.antarcticus.skua.means<-NULL
chilensis.antarcticus.skua.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
chilensis.antarcticus.skua.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.antarcticus.skua.means[[i]]<- mean(chilensis.antarcticus.skua.D3_matrix[[i]][!is.infinite(chilensis.antarcticus.skua.D3_matrix[[i]])], na.rm = TRUE)
chilensis.antarcticus.skua.props[[i]]<- sum(chilensis.antarcticus.skua.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.antarcticus.skua.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.antarcticus.skua.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Lets compare a situation where we don't expect a result
#P1 (a) = chilensis
#P2 (b) = maccormicki
#P3 (c) = skua
comp1 <- c("CHSK_MKP2451__GRSK_MKP1592", "ANSK01__GRSK_MKP1592")
comp2 <- c("CHSK_MKP2451__GRSK_MKP1592", "ANSK7__GRSK_MKP1592")
comp3 <- c("CHSK_MKP2451__GRSK_MKP1592", "ANSK8__GRSK_MKP1592")
comp4 <- c("CHSK_MKP2451__GRSK_MKP1593", "ANSK01__GRSK_MKP1593")
comp5 <- c("CHSK_MKP2451__GRSK_MKP1593", "ANSK7__GRSK_MKP1593")
comp6 <- c("CHSK_MKP2451__GRSK_MKP1593", "ANSK8__GRSK_MKP1593")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
chilensis.maccormicki.skua.D3_matrix<-NULL
chilensis.maccormicki.skua.means<-NULL
chilensis.maccormicki.skua.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(ANSK01)<300)
for(i in 1:length(comps)){
chilensis.maccormicki.skua.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.maccormicki.skua.means[[i]]<- mean(chilensis.maccormicki.skua.D3_matrix[[i]][!is.infinite(chilensis.maccormicki.skua.D3_matrix[[i]])], na.rm = TRUE)
chilensis.maccormicki.skua.props[[i]]<- sum(chilensis.maccormicki.skua.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.maccormicki.skua.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.maccormicki.skua.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between skua and pomarinus
#P1 (a) = chilensis
#P2 (b) = skua
#P3 (c) = pomarinus
comp1 <- c("CHSK_MKP2451__POJA_4", "GRSK_MKP1592__POJA_4")
comp2 <- c("CHSK_MKP2451__POJA_4", "GRSK_MKP1593__POJA_4")
comp3 <- c("CHSK_MKP2451__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp4 <- c("CHSK_MKP2451__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comp5 <- c("CHSK_MKP2451__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp6 <- c("CHSK_MKP2451__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
chilensis.skua.pomarinus.D3_matrix<-NULL
chilensis.skua.pomarinus.means<-NULL
chilensis.skua.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
chilensis.skua.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.skua.pomarinus.means[[i]]<- mean(chilensis.skua.pomarinus.D3_matrix[[i]][!is.infinite(chilensis.skua.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.skua.pomarinus.props[[i]]<- sum(chilensis.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.skua.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between skua and pomarinus
#P1 (a) = maccormicki
#P2 (b) = skua
#P3 (c) = pomarinus
comp1 <- c("ANSK01__POJA_4", "GRSK_MKP1592__POJA_4")
comp2 <- c("ANSK01__POJA_4", "GRSK_MKP1593__POJA_4")
comp3 <- c("ANSK01__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp4 <- c("ANSK01__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comp5 <- c("ANSK01__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp6 <- c("ANSK01__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comp7 <- c("ANSK7__POJA_4", "GRSK_MKP1592__POJA_4")
comp8 <- c("ANSK7__POJA_4", "GRSK_MKP1593__POJA_4")
comp9 <- c("ANSK7__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp10 <- c("ANSK7__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comp11 <- c("ANSK7__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp12 <- c("ANSK7__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comp13 <- c("ANSK8__POJA_4", "GRSK_MKP1592__POJA_4")
comp14 <- c("ANSK8__POJA_4", "GRSK_MKP1593__POJA_4")
comp15 <- c("ANSK8__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp16 <- c("ANSK8__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comp17 <- c("ANSK8__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp18 <- c("ANSK8__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18)
maccormicki.skua.pomarinus.D3_matrix<-NULL
maccormicki.skua.pomarinus.means<-NULL
maccormicki.skua.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
maccormicki.skua.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.skua.pomarinus.means[[i]]<- mean(maccormicki.skua.pomarinus.D3_matrix[[i]][!is.infinite(maccormicki.skua.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.skua.pomarinus.props[[i]]<- sum(maccormicki.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.skua.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between skua and pomarinus
#P1 (a) = antarcticus
#P2 (b) = skua
#P3 (c) = pomarinus
comp1 <- c("CISK2__POJA_4", "GRSK_MKP1592__POJA_4")
comp2 <- c("CISK2__POJA_4", "GRSK_MKP1593__POJA_4")
comp3 <- c("CISK2__POJA_IB2659", "GRSK_MKP1592__POJA_MKP1559")
comp4 <- c("CISK2__POJA_IB2659", "GRSK_MKP1593__POJA_MKP1559")
comp5 <- c("CISK2__POJA_MKP1559", "GRSK_MKP1592__POJA_IB2659")
comp6 <- c("CISK2__POJA_MKP1559", "GRSK_MKP1593__POJA_IB2659")
comp7 <- c("CISK3__POJA_4", "GRSK_MKP1592__POJA_4")
comp8 <- c("CISK3__POJA_4", "GRSK_MKP1593__POJA_4")
comp9 <- c("CISK3__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp10 <- c("CISK3__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comp11 <- c("CISK3__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp12 <- c("CISK3__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comp13 <- c("CISK55__POJA_4", "GRSK_MKP1592__POJA_4")
comp14 <- c("CISK55__POJA_4", "GRSK_MKP1593__POJA_4")
comp15 <- c("CISK55__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp16 <- c("CISK55__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comp17 <- c("CISK55__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp18 <- c("CISK55__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18)
antarcticus.skua.pomarinus.D3_matrix<-NULL
antarcticus.skua.pomarinus.means<-NULL
antarcticus.skua.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK3)<300 & as.numeric(CISK2)<300 & as.numeric(CISK55)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
antarcticus.skua.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
antarcticus.skua.pomarinus.means[[i]]<- mean(antarcticus.skua.pomarinus.D3_matrix[[i]][!is.infinite(antarcticus.skua.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
antarcticus.skua.pomarinus.props[[i]]<- sum(antarcticus.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(antarcticus.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(antarcticus.skua.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between antarcticus and pomarinus
#P1 (a) = chilensis
#P2 (b) = antarcticus
#P3 (c) = pomarinus
comp1 <- c("CHSK_MKP2451__POJA_4", "CISK3__POJA_4")
comp2 <- c("CHSK_MKP2451__POJA_4", "CISK2__POJA_4")
comp3 <- c("CHSK_MKP2451__POJA_4", "CISK55__POJA_4")
comp4 <- c("CHSK_MKP2451__POJA_IB2659", "CISK3__POJA_IB2659")
comp5 <- c("CHSK_MKP2451__POJA_IB2659", "CISK2__POJA_IB2659")
comp6 <- c("CHSK_MKP2451__POJA_IB2659", "CISK55__POJA_IB2659")
comp7 <- c("CHSK_MKP2451__POJA_MKP1559", "CISK3__POJA_MKP1559")
comp8 <- c("CHSK_MKP2451__POJA_MKP1559", "CISK2__POJA_MKP1559")
comp9 <- c("CHSK_MKP2451__POJA_MKP1559", "CISK55__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
chilensis.antarcticus.pomarinus.D3_matrix<-NULL
chilensis.antarcticus.pomarinus.means<-NULL
chilensis.antarcticus.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK3)<300 & as.numeric(CISK2)<300 & as.numeric(CISK55)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(CHSK_MKP2451)<300)
for(i in 1:length(comps)){
chilensis.antarcticus.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.antarcticus.pomarinus.means[[i]]<- mean(chilensis.antarcticus.pomarinus.D3_matrix[[i]][!is.infinite(chilensis.antarcticus.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.antarcticus.pomarinus.props[[i]]<- sum(chilensis.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.antarcticus.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = maccormicki
#P2 (b) = antarcticus
#P3 (c) = pomarinus
comp1 <- c("ANSK7__POJA_4", "CISK3__POJA_4")
comp2 <- c("ANSK7__POJA_4", "CISK2__POJA_4")
comp3 <- c("ANSK7__POJA_4", "CISK55__POJA_4")
comp4 <- c("ANSK7__POJA_IB2659", "CISK3__POJA_IB2659")
comp5 <- c("ANSK7__POJA_IB2659", "CISK2__POJA_IB2659")
comp6 <- c("ANSK7__POJA_IB2659", "CISK55__POJA_IB2659")
comp7 <- c("ANSK7__POJA_MKP1559", "CISK3__POJA_MKP1559")
comp8 <- c("ANSK7__POJA_MKP1559", "CISK2__POJA_MKP1559")
comp9 <- c("ANSK7__POJA_MKP1559", "CISK55__POJA_MKP1559")
comp10 <- c("ANSK8__POJA_4", "CISK3__POJA_4")
comp11 <- c("ANSK8__POJA_4", "CISK2__POJA_4")
comp12 <- c("ANSK8__POJA_4", "CISK55__POJA_4")
comp13 <- c("ANSK8__POJA_IB2659", "CISK3__POJA_IB2659")
comp14 <- c("ANSK8__POJA_IB2659", "CISK2__POJA_IB2659")
comp15 <- c("ANSK8__POJA_IB2659", "CISK55__POJA_IB2659")
comp16 <- c("ANSK8__POJA_MKP1559", "CISK3__POJA_MKP1559")
comp17 <- c("ANSK8__POJA_MKP1559", "CISK2__POJA_MKP1559")
comp18 <- c("ANSK8__POJA_MKP1559", "CISK55__POJA_MKP1559")
comp19 <- c("ANSK01__POJA_4", "CISK3__POJA_4")
comp20 <- c("ANSK01__POJA_4", "CISK2__POJA_4")
comp21 <- c("ANSK01__POJA_4", "CISK55__POJA_4")
comp22 <- c("ANSK01__POJA_IB2659", "CISK3__POJA_IB2659")
comp23 <- c("ANSK01__POJA_IB2659", "CISK2__POJA_IB2659")
comp24 <- c("ANSK01__POJA_IB2659", "CISK55__POJA_IB2659")
comp25 <- c("ANSK01__POJA_MKP1559", "CISK3__POJA_MKP1559")
comp26 <- c("ANSK01__POJA_MKP1559", "CISK2__POJA_MKP1559")
comp27 <- c("ANSK01__POJA_MKP1559", "CISK55__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19, comp20, comp21, comp22, comp23, comp24, comp25, comp26, comp27)
maccormicki.antarcticus.pomarinus.D3_matrix<-NULL
maccormicki.antarcticus.pomarinus.means<-NULL
maccormicki.antarcticus.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK3)<300 & as.numeric(CISK2)<300 & as.numeric(CISK55)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300)
for(i in 1:length(comps)){
maccormicki.antarcticus.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.antarcticus.pomarinus.means[[i]]<- mean(maccormicki.antarcticus.pomarinus.D3_matrix[[i]][!is.infinite(maccormicki.antarcticus.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.antarcticus.pomarinus.props[[i]]<- sum(maccormicki.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.antarcticus.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = maccormicki
#P3 (c) = pomarinus
comp1 <- c("CHSK_MKP2451__POJA_4", "ANSK7__POJA_4")
comp2 <- c("CHSK_MKP2451__POJA_4", "ANSK8__POJA_4")
comp3 <- c("CHSK_MKP2451__POJA_4", "ANSK01__POJA_4")
comp4 <- c("CHSK_MKP2451__POJA_IB2659", "ANSK7__POJA_IB2659")
comp5 <- c("CHSK_MKP2451__POJA_IB2659", "ANSK8__POJA_IB2659")
comp6 <- c("CHSK_MKP2451__POJA_IB2659", "ANSK01__POJA_IB2659")
comp7 <- c("CHSK_MKP2451__POJA_MKP1559", "ANSK7__POJA_MKP1559")
comp8 <- c("CHSK_MKP2451__POJA_MKP1559", "ANSK8__POJA_MKP1559")
comp9 <- c("CHSK_MKP2451__POJA_MKP1559", "ANSK01__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
chilensis.maccormicki.pomarinus.D3_matrix<-NULL
chilensis.maccormicki.pomarinus.means<-NULL
chilensis.maccormicki.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300)
for(i in 1:length(comps)){
chilensis.maccormicki.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.maccormicki.pomarinus.means[[i]]<- mean(chilensis.maccormicki.pomarinus.D3_matrix[[i]][!is.infinite(chilensis.maccormicki.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.maccormicki.pomarinus.props[[i]]<- sum(chilensis.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.maccormicki.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Scan the results to see if there is anything that looks surprising
chilensis.antarcticus.maccormicki.means
## [[1]]
## [1] -0.05476411
##
## [[2]]
## [1] -0.05320478
##
## [[3]]
## [1] -0.05200105
##
## [[4]]
## [1] -0.05540801
##
## [[5]]
## [1] -0.05416094
##
## [[6]]
## [1] -0.05315085
##
## [[7]]
## [1] -0.0434075
##
## [[8]]
## [1] -0.0418005
##
## [[9]]
## [1] -0.04084698
maccormicki.antarcticus.chilensis.means
## [[1]]
## [1] -0.04726939
##
## [[2]]
## [1] -0.0558971
##
## [[3]]
## [1] -0.04568824
##
## [[4]]
## [1] -0.05020512
##
## [[5]]
## [1] -0.05892935
##
## [[6]]
## [1] -0.04844368
##
## [[7]]
## [1] -0.03741914
##
## [[8]]
## [1] -0.04644424
##
## [[9]]
## [1] -0.03583542
maccormicki.chilensis.antarcticus.means
## [[1]]
## [1] 0.007570598
##
## [[2]]
## [1] -0.003906566
##
## [[3]]
## [1] 0.007595643
##
## [[4]]
## [1] 0.0009900258
##
## [[5]]
## [1] -0.009708315
##
## [[6]]
## [1] 0.001884666
##
## [[7]]
## [1] 0.004071945
##
## [[8]]
## [1] 0.006629656
##
## [[9]]
## [1] 0.002925523
maccormicki.antarcticus.skua.means
## [[1]]
## [1] -0.05258085
##
## [[2]]
## [1] -0.04230775
##
## [[3]]
## [1] -0.05786675
##
## [[4]]
## [1] -0.06303489
##
## [[5]]
## [1] -0.05308039
##
## [[6]]
## [1] -0.06857459
##
## [[7]]
## [1] -0.05110869
##
## [[8]]
## [1] -0.04071235
##
## [[9]]
## [1] -0.05636033
##
## [[10]]
## [1] -0.05575572
##
## [[11]]
## [1] -0.0580558
##
## [[12]]
## [1] -0.06050688
##
## [[13]]
## [1] -0.04864638
##
## [[14]]
## [1] -0.05075521
##
## [[15]]
## [1] -0.0533063
##
## [[16]]
## [1] -0.05256139
##
## [[17]]
## [1] -0.05466491
##
## [[18]]
## [1] -0.0572682
chilensis.antarcticus.skua.means
## [[1]]
## [1] -0.05540171
##
## [[2]]
## [1] -0.06716257
##
## [[3]]
## [1] -0.05458634
##
## [[4]]
## [1] -0.07246188
##
## [[5]]
## [1] -0.06642115
##
## [[6]]
## [1] -0.06975396
chilensis.maccormicki.skua.means
## [[1]]
## [1] -0.004136347
##
## [[2]]
## [1] -0.01449741
##
## [[3]]
## [1] 0.001507088
##
## [[4]]
## [1] -0.01736149
##
## [[5]]
## [1] -0.01565771
##
## [[6]]
## [1] -0.01286007
maccormicki.skua.pomarinus.means
## [[1]]
## [1] -0.004920896
##
## [[2]]
## [1] -0.007528271
##
## [[3]]
## [1] -0.01266218
##
## [[4]]
## [1] -0.007297911
##
## [[5]]
## [1] -0.004554729
##
## [[6]]
## [1] -0.006412149
##
## [[7]]
## [1] -0.003827828
##
## [[8]]
## [1] -0.00630485
##
## [[9]]
## [1] -0.00352008
##
## [[10]]
## [1] -0.005246962
##
## [[11]]
## [1] -0.003538631
##
## [[12]]
## [1] 0.001767824
##
## [[13]]
## [1] -0.005809984
##
## [[14]]
## [1] -0.008297847
##
## [[15]]
## [1] -0.005841899
##
## [[16]]
## [1] -0.007624084
##
## [[17]]
## [1] -0.01392297
##
## [[18]]
## [1] -0.008639743
chilensis.skua.pomarinus.means
## [[1]]
## [1] -0.006428428
##
## [[2]]
## [1] -0.009299274
##
## [[3]]
## [1] -0.006475238
##
## [[4]]
## [1] -0.008587621
##
## [[5]]
## [1] -0.007140516
##
## [[6]]
## [1] -0.002072346
antarcticus.skua.pomarinus.means
## [[1]]
## [1] -0.003707238
##
## [[2]]
## [1] -0.006161507
##
## [[3]]
## [1] -0.003137469
##
## [[4]]
## [1] 0.002094151
##
## [[5]]
## [1] -0.01216203
##
## [[6]]
## [1] -0.01371339
##
## [[7]]
## [1] -0.0008179018
##
## [[8]]
## [1] -0.003402345
##
## [[9]]
## [1] -0.0009878115
##
## [[10]]
## [1] -0.002756508
##
## [[11]]
## [1] -0.002216735
##
## [[12]]
## [1] 0.00313497
##
## [[13]]
## [1] -0.00419449
##
## [[14]]
## [1] -0.006749529
##
## [[15]]
## [1] -0.004189917
##
## [[16]]
## [1] -0.005926547
##
## [[17]]
## [1] -0.01245056
##
## [[18]]
## [1] -0.007061178
chilensis.antarcticus.pomarinus.means
## [[1]]
## [1] -0.005717639
##
## [[2]]
## [1] -0.002855224
##
## [[3]]
## [1] -0.002266978
##
## [[4]]
## [1] -0.005896815
##
## [[5]]
## [1] -0.002895369
##
## [[6]]
## [1] -0.002600281
##
## [[7]]
## [1] -0.005194967
##
## [[8]]
## [1] 0.004590659
##
## [[9]]
## [1] 0.005284881
maccormicki.antarcticus.pomarinus.means
## [[1]]
## [1] -0.003025872
##
## [[2]]
## [1] -0.0002118075
##
## [[3]]
## [1] 0.0004820944
##
## [[4]]
## [1] -0.002661212
##
## [[5]]
## [1] 0.0003192556
##
## [[6]]
## [1] 0.0007014022
##
## [[7]]
## [1] -0.001354044
##
## [[8]]
## [1] 0.008032523
##
## [[9]]
## [1] 0.008900728
##
## [[10]]
## [1] -0.005007666
##
## [[11]]
## [1] -0.00222521
##
## [[12]]
## [1] -0.001545794
##
## [[13]]
## [1] -0.005019265
##
## [[14]]
## [1] -0.002095388
##
## [[15]]
## [1] -0.001771176
##
## [[16]]
## [1] -0.01171484
##
## [[17]]
## [1] -0.002257144
##
## [[18]]
## [1] -0.001431074
##
## [[19]]
## [1] -0.00425007
##
## [[20]]
## [1] -0.001445755
##
## [[21]]
## [1] -0.0007229056
##
## [[22]]
## [1] -0.00373484
##
## [[23]]
## [1] -0.0008727689
##
## [[24]]
## [1] -0.0004847714
##
## [[25]]
## [1] -0.01045276
##
## [[26]]
## [1] -0.00107085
##
## [[27]]
## [1] -0.000203697
chilensis.maccormicki.pomarinus.means
## [[1]]
## [1] -0.002660111
##
## [[2]]
## [1] -0.0007212594
##
## [[3]]
## [1] -0.001699485
##
## [[4]]
## [1] -0.003441215
##
## [[5]]
## [1] -0.0008535611
##
## [[6]]
## [1] -0.002364153
##
## [[7]]
## [1] -0.003733691
##
## [[8]]
## [1] 0.006620938
##
## [[9]]
## [1] 0.005240774
#Save the results into a dataframe
#Firstly, set up variables to hold the results (D3, means, and proportions)
D3data<- NULL
D3data$tests <- c("chilensis.antarcticus.maccormicki.means", "maccormicki.antarcticus.chilensis.means", "maccormicki.chilensis.antarcticus.means", "maccormicki.antarcticus.skua.means", "chilensis.antarcticus.skua.means", "chilensis.maccormicki.skua.means", "maccormicki.skua.pomarinus.means", "chilensis.skua.pomarinus.means", "antarcticus.skua.pomarinus.means", "chilensis.antarcticus.pomarinus.means", "maccormicki.antarcticus.pomarinus.means", "chilensis.maccormicki.pomarinus.means")
D3data$D3 <- c(mean(unlist(chilensis.antarcticus.maccormicki.means)), mean(unlist(maccormicki.antarcticus.chilensis.means)), mean(unlist(maccormicki.chilensis.antarcticus.means)), mean(unlist(maccormicki.antarcticus.skua.means)), mean(unlist(chilensis.antarcticus.skua.means)), mean(unlist(chilensis.maccormicki.skua.means)), mean(unlist(maccormicki.skua.pomarinus.means)), mean(unlist(chilensis.skua.pomarinus.means)), mean(unlist(antarcticus.skua.pomarinus.means)), mean(unlist(chilensis.antarcticus.pomarinus.means)), mean(unlist(maccormicki.antarcticus.pomarinus.means)), mean(unlist(chilensis.maccormicki.pomarinus.means)))
D3data$props<- c(mean(unlist(chilensis.antarcticus.maccormicki.props)), mean(unlist(maccormicki.antarcticus.chilensis.props)), mean(unlist(maccormicki.chilensis.antarcticus.props)), mean(unlist(maccormicki.antarcticus.skua.props)), mean(unlist(chilensis.antarcticus.skua.props)), mean(unlist(chilensis.maccormicki.skua.props)), mean(unlist(maccormicki.skua.pomarinus.props)), mean(unlist(chilensis.skua.pomarinus.props)), mean(unlist(antarcticus.skua.pomarinus.props)), mean(unlist(chilensis.antarcticus.pomarinus.props)), mean(unlist(maccormicki.antarcticus.pomarinus.props)), mean(unlist(chilensis.maccormicki.pomarinus.props)))
D3data<- as.data.frame(D3data)
D3data
## tests D3 props
## 1 chilensis.antarcticus.maccormicki.means -0.0498605248 0.4452343
## 2 maccormicki.antarcticus.chilensis.means -0.0473479649 0.4420250
## 3 maccormicki.chilensis.antarcticus.means 0.0020059083 0.5021570
## 4 maccormicki.antarcticus.skua.means -0.0542859664 0.4352394
## 5 chilensis.antarcticus.skua.means -0.0642979350 0.4233702
## 6 chilensis.maccormicki.skua.means -0.0105009892 0.4874422
## 7 maccormicki.skua.pomarinus.means -0.0063435104 0.4891444
## 8 chilensis.skua.pomarinus.means -0.0066672373 0.4859227
## 9 antarcticus.skua.pomarinus.means -0.0046892243 0.4907237
## 10 chilensis.antarcticus.pomarinus.means -0.0019501925 0.4966980
## 11 maccormicki.antarcticus.pomarinus.means -0.0016712189 0.4996133
## 12 chilensis.maccormicki.pomarinus.means -0.0004013071 0.4971316
Results: D3 is strongly consistent with the two proposed introgression events within Catharacta (antarcticus<->skua and antarcticus<->chilensis or maccormicki). It has only weak evidencer of introgression between skua and pomarinus, but the test has very little power for this trio (see below).
This next set of D3 tests involve S. parasiticus and S. longicaudus.
# calculate D3
# D3=(d_bc - d_ac)/(d_bc + d_ac)
# negative value suggests introgression between b and c; positive between a and c.
#Now, just go through the data and calculate D3 for any comparison you want.
#calculate D3 with the distance matrices as outlined in the D3 paper
#Introgression between parasiticus and pomarinus:
#P1 (a) = longicaudus
#P2 (b) = parasiticus
#P3 (c) = pomarinus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("LTJA_MKP990__POJA_4", "PAJA_B20730__POJA_4")
comp2 <- c("LTJA_MKP990__POJA_IB2659", "PAJA_B20730__POJA_IB2659")
comp3 <- c("LTJA_MKP990__POJA_MKP1559", "PAJA_B20730__POJA_MKP1559")
comp4 <- c("LTJA_MKP990__POJA_4", "PAJA_USNM606730__POJA_4")
comp5 <- c("LTJA_MKP990__POJA_IB2659", "PAJA_USNM606730__POJA_IB2659")
comp6 <- c("LTJA_MKP990__POJA_MKP1559", "PAJA_USNM606730__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
longicaudus.parasiticus.pomarinus.D3_matrix<-NULL
longicaudus.parasiticus.pomarinus.means<-NULL
longicaudus.parasiticus.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300)
for(i in 1:length(comps)){
longicaudus.parasiticus.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
longicaudus.parasiticus.pomarinus.means[[i]]<- mean(longicaudus.parasiticus.pomarinus.D3_matrix[[i]][!is.infinite(longicaudus.parasiticus.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
longicaudus.parasiticus.pomarinus.props[[i]]<- sum(longicaudus.parasiticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(longicaudus.parasiticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(longicaudus.parasiticus.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between parasiticus and Catharacta:
#P1 (a) = longicaudus
#P2 (b) = parasiticus
#P3 (c) = maccormicki
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__LTJA_MKP990", "ANSK01__PAJA_B20730")
comp2 <- c("ANSK01__LTJA_MKP990", "ANSK01__PAJA_USNM606730")
comp3 <- c("ANSK7__LTJA_MKP990", "ANSK7__PAJA_B20730")
comp4 <- c("ANSK7__LTJA_MKP990", "ANSK7__PAJA_USNM606730")
comp5 <- c("ANSK8__LTJA_MKP990", "ANSK8__PAJA_B20730")
comp6 <- c("ANSK8__LTJA_MKP990", "ANSK8__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
longicaudus.parasiticus.maccormicki.D3_matrix<-NULL
longicaudus.parasiticus.maccormicki.means<-NULL
longicaudus.parasiticus.maccormicki.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300)
for(i in 1:length(comps)){
longicaudus.parasiticus.maccormicki.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
longicaudus.parasiticus.maccormicki.means[[i]]<- mean(longicaudus.parasiticus.maccormicki.D3_matrix[[i]][!is.infinite(longicaudus.parasiticus.maccormicki.D3_matrix[[i]])], na.rm = TRUE)
longicaudus.parasiticus.maccormicki.props[[i]]<- sum(longicaudus.parasiticus.maccormicki.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(longicaudus.parasiticus.maccormicki.D3_matrix[[i]]>0, na.rm = TRUE)+sum(longicaudus.parasiticus.maccormicki.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between parasiticus and Catharacta:
#P1 (a) = longicaudus
#P2 (b) = parasiticus
#P3 (c) = antarcticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CISK2__LTJA_MKP990", "CISK2__PAJA_B20730")
comp2 <- c("CISK2__LTJA_MKP990", "CISK2__PAJA_USNM606730")
comp3 <- c("CISK3__LTJA_MKP990", "CISK3__PAJA_B20730")
comp4 <- c("CISK3__LTJA_MKP990", "CISK3__PAJA_USNM606730")
comp5 <- c("CISK55__LTJA_MKP990", "CISK55__PAJA_B20730")
comp6 <- c("CISK55__LTJA_MKP990", "CISK55__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
longicaudus.parasiticus.antarcticus.D3_matrix<-NULL
longicaudus.parasiticus.antarcticus.means<-NULL
longicaudus.parasiticus.antarcticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
longicaudus.parasiticus.antarcticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
longicaudus.parasiticus.antarcticus.means[[i]]<- mean(longicaudus.parasiticus.antarcticus.D3_matrix[[i]][!is.infinite(longicaudus.parasiticus.antarcticus.D3_matrix[[i]])], na.rm = TRUE)
longicaudus.parasiticus.antarcticus.props[[i]]<- sum(longicaudus.parasiticus.antarcticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(longicaudus.parasiticus.antarcticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(longicaudus.parasiticus.antarcticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between parasiticus and Catharacta:
#P1 (a) = longicaudus
#P2 (b) = parasiticus
#P3 (c) = skua
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("GRSK_MKP1592__LTJA_MKP990", "GRSK_MKP1592__PAJA_B20730")
comp2 <- c("GRSK_MKP1592__LTJA_MKP990", "GRSK_MKP1592__PAJA_USNM606730")
comp3 <- c("GRSK_MKP1593__LTJA_MKP990", "GRSK_MKP1593__PAJA_B20730")
comp4 <- c("GRSK_MKP1593__LTJA_MKP990", "GRSK_MKP1593__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4)
longicaudus.parasiticus.skua.D3_matrix<-NULL
longicaudus.parasiticus.skua.means<-NULL
longicaudus.parasiticus.skua.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
longicaudus.parasiticus.skua.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
longicaudus.parasiticus.skua.means[[i]]<- mean(longicaudus.parasiticus.skua.D3_matrix[[i]][!is.infinite(longicaudus.parasiticus.skua.D3_matrix[[i]])], na.rm = TRUE)
longicaudus.parasiticus.skua.props[[i]]<- sum(longicaudus.parasiticus.skua.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(longicaudus.parasiticus.skua.D3_matrix[[i]]>0, na.rm = TRUE)+sum(longicaudus.parasiticus.skua.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between parasiticus and Catharacta:
#P1 (a) = longicaudus
#P2 (b) = parasiticus
#P3 (c) = chilensis
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__LTJA_MKP990", "CHSK_MKP2451__PAJA_B20730")
comp2 <- c("CHSK_MKP2451__LTJA_MKP990", "CHSK_MKP2451__PAJA_USNM606730")
comps<- list(comp1, comp2)
longicaudus.parasiticus.chilensis.D3_matrix<-NULL
longicaudus.parasiticus.chilensis.means<-NULL
longicaudus.parasiticus.chilensis.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(LTJA_MKP990)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(CHSK_MKP2451)<300)
for(i in 1:length(comps)){
longicaudus.parasiticus.chilensis.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
longicaudus.parasiticus.chilensis.means[[i]]<- mean(longicaudus.parasiticus.chilensis.D3_matrix[[i]][!is.infinite(longicaudus.parasiticus.chilensis.D3_matrix[[i]])], na.rm = TRUE)
longicaudus.parasiticus.chilensis.props[[i]]<- sum(longicaudus.parasiticus.chilensis.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(longicaudus.parasiticus.chilensis.D3_matrix[[i]]>0, na.rm = TRUE)+sum(longicaudus.parasiticus.chilensis.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between crown Catharacta and jaegers
#P1 (a) = skua
#P2 (b) = pomarinus
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("GRSK_MKP1592__PAJA_B20730", "PAJA_B20730__POJA_4")
comp2 <- c("GRSK_MKP1592__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp3 <- c("GRSK_MKP1592__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp4 <- c("GRSK_MKP1592__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp5 <- c("GRSK_MKP1592__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp6 <- c("GRSK_MKP1592__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comp7 <- c("GRSK_MKP1593__PAJA_B20730", "PAJA_B20730__POJA_4")
comp8 <- c("GRSK_MKP1593__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp9 <- c("GRSK_MKP1593__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp10 <- c("GRSK_MKP1593__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp11 <- c("GRSK_MKP1593__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp12 <- c("GRSK_MKP1593__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12)
skua.pomarinus.parasiticus.D3_matrix<-NULL
skua.pomarinus.parasiticus.means<-NULL
skua.pomarinus.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
skua.pomarinus.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
skua.pomarinus.parasiticus.means[[i]]<- mean(skua.pomarinus.parasiticus.D3_matrix[[i]][!is.infinite(skua.pomarinus.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
skua.pomarinus.parasiticus.props[[i]]<- sum(skua.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(skua.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(skua.pomarinus.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = antarcticus
#P2 (b) = pomarinus
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CISK2__PAJA_B20730", "PAJA_B20730__POJA_4")
comp2 <- c("CISK2__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp3 <- c("CISK2__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp4 <- c("CISK2__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp5 <- c("CISK2__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp6 <- c("CISK2__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comp7 <- c("CISK3__PAJA_B20730", "PAJA_B20730__POJA_4")
comp8 <- c("CISK3__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp9 <- c("CISK3__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp10 <- c("CISK3__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp11 <- c("CISK3__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp12 <- c("CISK3__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comp13 <- c("CISK55__PAJA_B20730", "PAJA_B20730__POJA_4")
comp14 <- c("CISK55__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp15 <- c("CISK55__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp16 <- c("CISK55__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp17 <- c("CISK55__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp18 <- c("CISK55__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18)
antarcticus.pomarinus.parasiticus.D3_matrix<-NULL
antarcticus.pomarinus.parasiticus.means<-NULL
antarcticus.pomarinus.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
antarcticus.pomarinus.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
antarcticus.pomarinus.parasiticus.means[[i]]<- mean(antarcticus.pomarinus.parasiticus.D3_matrix[[i]][!is.infinite(antarcticus.pomarinus.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
antarcticus.pomarinus.parasiticus.props[[i]]<- sum(antarcticus.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(antarcticus.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(antarcticus.pomarinus.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = maccormicki
#P2 (b) = pomarinus
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__PAJA_B20730", "PAJA_B20730__POJA_4")
comp2 <- c("ANSK01__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp3 <- c("ANSK01__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp4 <- c("ANSK01__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp5 <- c("ANSK01__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp6 <- c("ANSK01__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comp7 <- c("ANSK7__PAJA_B20730", "PAJA_B20730__POJA_4")
comp8 <- c("ANSK7__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp9 <- c("ANSK7__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp10 <- c("ANSK7__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp11 <- c("ANSK7__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp12 <- c("ANSK7__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comp13 <- c("ANSK8__PAJA_B20730", "PAJA_B20730__POJA_4")
comp14 <- c("ANSK8__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp15 <- c("ANSK8__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp16 <- c("ANSK8__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp17 <- c("ANSK8__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp18 <- c("ANSK8__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18)
maccormicki.pomarinus.parasiticus.D3_matrix<-NULL
maccormicki.pomarinus.parasiticus.means<-NULL
maccormicki.pomarinus.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
maccormicki.pomarinus.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.pomarinus.parasiticus.means[[i]]<- mean(maccormicki.pomarinus.parasiticus.D3_matrix[[i]][!is.infinite(maccormicki.pomarinus.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.pomarinus.parasiticus.props[[i]]<- sum(maccormicki.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.pomarinus.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = pomarinus
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__PAJA_B20730", "PAJA_B20730__POJA_4")
comp2 <- c("CHSK_MKP2451__PAJA_B20730", "PAJA_B20730__POJA_IB2659")
comp3 <- c("CHSK_MKP2451__PAJA_B20730", "PAJA_B20730__POJA_MKP1559")
comp4 <- c("CHSK_MKP2451__PAJA_USNM606730", "PAJA_USNM606730__POJA_4")
comp5 <- c("CHSK_MKP2451__PAJA_USNM606730", "PAJA_USNM606730__POJA_IB2659")
comp6 <- c("CHSK_MKP2451__PAJA_USNM606730", "PAJA_USNM606730__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
chilensis.pomarinus.parasiticus.D3_matrix<-NULL
chilensis.pomarinus.parasiticus.means<-NULL
chilensis.pomarinus.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.pomarinus.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.pomarinus.parasiticus.means[[i]]<- mean(chilensis.pomarinus.parasiticus.D3_matrix[[i]][!is.infinite(chilensis.pomarinus.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.pomarinus.parasiticus.props[[i]]<- sum(chilensis.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.pomarinus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.pomarinus.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#######
#P1 (a) = antarcticus
#P2 (b) = skua
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CISK2__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp2 <- c("CISK2__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp3 <- c("CISK2__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comp4 <- c("CISK2__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comp5 <- c("CISK3__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp6 <- c("CISK3__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp7 <- c("CISK3__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comp8 <- c("CISK3__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comp9 <- c("CISK55__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp10 <- c("CISK55__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp11 <- c("CISK55__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comp12 <- c("CISK55__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12)
antarcticus.skua.parasiticus.D3_matrix<-NULL
antarcticus.skua.parasiticus.means<-NULL
antarcticus.skua.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
antarcticus.skua.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
antarcticus.skua.parasiticus.means[[i]]<- mean(antarcticus.skua.parasiticus.D3_matrix[[i]][!is.infinite(antarcticus.skua.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
antarcticus.skua.parasiticus.props[[i]]<- sum(antarcticus.skua.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(antarcticus.skua.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(antarcticus.skua.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = maccormicki
#P2 (b) = skua
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp2 <- c("ANSK01__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp3 <- c("ANSK01__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comp4 <- c("ANSK01__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comp5 <- c("ANSK7__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp6 <- c("ANSK7__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp7 <- c("ANSK7__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comp8 <- c("ANSK7__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comp9 <- c("ANSK8__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp10 <- c("ANSK8__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp11 <- c("ANSK8__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comp12 <- c("ANSK8__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12)
maccormicki.skua.parasiticus.D3_matrix<-NULL
maccormicki.skua.parasiticus.means<-NULL
maccormicki.skua.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
maccormicki.skua.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.skua.parasiticus.means[[i]]<- mean(maccormicki.skua.parasiticus.D3_matrix[[i]][!is.infinite(maccormicki.skua.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.skua.parasiticus.props[[i]]<- sum(maccormicki.skua.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.skua.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.skua.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = skua
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__PAJA_B20730", "GRSK_MKP1592__PAJA_B20730")
comp2 <- c("CHSK_MKP2451__PAJA_B20730", "GRSK_MKP1593__PAJA_B20730")
comp3 <- c("CHSK_MKP2451__PAJA_USNM606730", "GRSK_MKP1592__PAJA_USNM606730")
comp4 <- c("CHSK_MKP2451__PAJA_USNM606730", "GRSK_MKP1593__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4)
chilensis.skua.parasiticus.D3_matrix<-NULL
chilensis.skua.parasiticus.means<-NULL
chilensis.skua.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.skua.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.skua.parasiticus.means[[i]]<- mean(chilensis.skua.parasiticus.D3_matrix[[i]][!is.infinite(chilensis.skua.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.skua.parasiticus.props[[i]]<- sum(chilensis.skua.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.skua.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.skua.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
####
#P1 (a) = maccormicki
#P2 (b) = antarcticus
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__PAJA_B20730", "CISK2__PAJA_B20730")
comp2 <- c("ANSK01__PAJA_B20730", "CISK3__PAJA_B20730")
comp3 <- c("ANSK01__PAJA_B20730", "CISK55__PAJA_B20730")
comp4 <- c("ANSK01__PAJA_USNM606730", "CISK2__PAJA_USNM606730")
comp5 <- c("ANSK01__PAJA_USNM606730", "CISK3__PAJA_USNM606730")
comp6 <- c("ANSK01__PAJA_USNM606730", "CISK55__PAJA_USNM606730")
comp7 <- c("ANSK7__PAJA_B20730", "CISK2__PAJA_B20730")
comp8 <- c("ANSK7__PAJA_B20730", "CISK3__PAJA_B20730")
comp9 <- c("ANSK7__PAJA_B20730", "CISK55__PAJA_B20730")
comp10 <- c("ANSK7__PAJA_USNM606730", "CISK2__PAJA_USNM606730")
comp11 <- c("ANSK7__PAJA_USNM606730", "CISK3__PAJA_USNM606730")
comp12 <- c("ANSK7__PAJA_USNM606730", "CISK55__PAJA_USNM606730")
comp13 <- c("ANSK8__PAJA_B20730", "CISK2__PAJA_B20730")
comp14 <- c("ANSK8__PAJA_B20730", "CISK3__PAJA_B20730")
comp15 <- c("ANSK8__PAJA_B20730", "CISK55__PAJA_B20730")
comp16 <- c("ANSK8__PAJA_USNM606730", "CISK2__PAJA_USNM606730")
comp17 <- c("ANSK8__PAJA_USNM606730", "CISK3__PAJA_USNM606730")
comp18 <- c("ANSK8__PAJA_USNM606730", "CISK55__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18)
maccormicki.antarcticus.parasiticus.D3_matrix<-NULL
maccormicki.antarcticus.parasiticus.means<-NULL
maccormicki.antarcticus.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
maccormicki.antarcticus.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.antarcticus.parasiticus.means[[i]]<- mean(maccormicki.antarcticus.parasiticus.D3_matrix[[i]][!is.infinite(maccormicki.antarcticus.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.antarcticus.parasiticus.props[[i]]<- sum(maccormicki.antarcticus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.antarcticus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.antarcticus.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = antarcticus
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__PAJA_B20730", "CISK2__PAJA_B20730")
comp2 <- c("CHSK_MKP2451__PAJA_B20730", "CISK3__PAJA_B20730")
comp3 <- c("CHSK_MKP2451__PAJA_B20730", "CISK55__PAJA_B20730")
comp4 <- c("CHSK_MKP2451__PAJA_USNM606730", "CISK2__PAJA_USNM606730")
comp5 <- c("CHSK_MKP2451__PAJA_USNM606730", "CISK3__PAJA_USNM606730")
comp6 <- c("CHSK_MKP2451__PAJA_USNM606730", "CISK55__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
chilensis.antarcticus.parasiticus.D3_matrix<-NULL
chilensis.antarcticus.parasiticus.means<-NULL
chilensis.antarcticus.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.antarcticus.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.antarcticus.parasiticus.means[[i]]<- mean(chilensis.antarcticus.parasiticus.D3_matrix[[i]][!is.infinite(chilensis.antarcticus.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.antarcticus.parasiticus.props[[i]]<- sum(chilensis.antarcticus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.antarcticus.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.antarcticus.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = maccormicki
#P3 (c) = parasiticus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__PAJA_B20730", "ANSK01__PAJA_B20730")
comp2 <- c("CHSK_MKP2451__PAJA_B20730", "ANSK7__PAJA_B20730")
comp3 <- c("CHSK_MKP2451__PAJA_B20730", "ANSK8__PAJA_B20730")
comp4 <- c("CHSK_MKP2451__PAJA_USNM606730", "ANSK01__PAJA_USNM606730")
comp5 <- c("CHSK_MKP2451__PAJA_USNM606730", "ANSK7__PAJA_USNM606730")
comp6 <- c("CHSK_MKP2451__PAJA_USNM606730", "ANSK8__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
chilensis.maccormicki.parasiticus.D3_matrix<-NULL
chilensis.maccormicki.parasiticus.means<-NULL
chilensis.maccormicki.parasiticus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.maccormicki.parasiticus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.maccormicki.parasiticus.means[[i]]<- mean(chilensis.maccormicki.parasiticus.D3_matrix[[i]][!is.infinite(chilensis.maccormicki.parasiticus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.maccormicki.parasiticus.props[[i]]<- sum(chilensis.maccormicki.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.maccormicki.parasiticus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.maccormicki.parasiticus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Introgression between crown Catharacta and jaegers
#P1 (a) = skua
#P2 (b) = pomarinus
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("GRSK_MKP1592__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp2 <- c("GRSK_MKP1592__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp3 <- c("GRSK_MKP1592__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comp4 <- c("GRSK_MKP1593__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp5 <- c("GRSK_MKP1593__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp6 <- c("GRSK_MKP1593__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
skua.pomarinus.longicaudus.D3_matrix<-NULL
skua.pomarinus.longicaudus.means<-NULL
skua.pomarinus.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
skua.pomarinus.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
skua.pomarinus.longicaudus.means[[i]]<- mean(skua.pomarinus.longicaudus.D3_matrix[[i]][!is.infinite(skua.pomarinus.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
skua.pomarinus.longicaudus.props[[i]]<- sum(skua.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(skua.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(skua.pomarinus.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = antarcticus
#P2 (b) = pomarinus
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CISK2__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp2 <- c("CISK2__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp3 <- c("CISK2__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comp4 <- c("CISK3__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp5 <- c("CISK3__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp6 <- c("CISK3__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comp7 <- c("CISK55__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp8 <- c("CISK55__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp9 <- c("CISK55__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
antarcticus.pomarinus.longicaudus.D3_matrix<-NULL
antarcticus.pomarinus.longicaudus.means<-NULL
antarcticus.pomarinus.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
antarcticus.pomarinus.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
antarcticus.pomarinus.longicaudus.means[[i]]<- mean(antarcticus.pomarinus.longicaudus.D3_matrix[[i]][!is.infinite(antarcticus.pomarinus.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
antarcticus.pomarinus.longicaudus.props[[i]]<- sum(antarcticus.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(antarcticus.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(antarcticus.pomarinus.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = maccormicki
#P2 (b) = pomarinus
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp2 <- c("ANSK01__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp3 <- c("ANSK01__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comp4 <- c("ANSK7__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp5 <- c("ANSK7__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp6 <- c("ANSK7__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comp7 <- c("ANSK8__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp8 <- c("ANSK8__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp9 <- c("ANSK8__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
maccormicki.pomarinus.longicaudus.D3_matrix<-NULL
maccormicki.pomarinus.longicaudus.means<-NULL
maccormicki.pomarinus.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
maccormicki.pomarinus.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.pomarinus.longicaudus.means[[i]]<- mean(maccormicki.pomarinus.longicaudus.D3_matrix[[i]][!is.infinite(maccormicki.pomarinus.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.pomarinus.longicaudus.props[[i]]<- sum(maccormicki.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.pomarinus.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = pomarinus
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__LTJA_MKP990", "LTJA_MKP990__POJA_4")
comp2 <- c("CHSK_MKP2451__LTJA_MKP990", "LTJA_MKP990__POJA_IB2659")
comp3 <- c("CHSK_MKP2451__LTJA_MKP990", "LTJA_MKP990__POJA_MKP1559")
comps<- list(comp1, comp2, comp3)
chilensis.pomarinus.longicaudus.D3_matrix<-NULL
chilensis.pomarinus.longicaudus.means<-NULL
chilensis.pomarinus.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.pomarinus.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.pomarinus.longicaudus.means[[i]]<- mean(chilensis.pomarinus.longicaudus.D3_matrix[[i]][!is.infinite(chilensis.pomarinus.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.pomarinus.longicaudus.props[[i]]<- sum(chilensis.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.pomarinus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.pomarinus.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#######
#P1 (a) = antarcticus
#P2 (b) = skua
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CISK2__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp2 <- c("CISK2__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comp3 <- c("CISK3__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp4 <- c("CISK3__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comp5 <- c("CISK55__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp6 <- c("CISK55__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
antarcticus.skua.longicaudus.D3_matrix<-NULL
antarcticus.skua.longicaudus.means<-NULL
antarcticus.skua.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CISK2)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
antarcticus.skua.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
antarcticus.skua.longicaudus.means[[i]]<- mean(antarcticus.skua.longicaudus.D3_matrix[[i]][!is.infinite(antarcticus.skua.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
antarcticus.skua.longicaudus.props[[i]]<- sum(antarcticus.skua.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(antarcticus.skua.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(antarcticus.skua.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = maccormicki
#P2 (b) = skua
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp2 <- c("ANSK01__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comp3 <- c("ANSK7__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp4 <- c("ANSK7__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comp5 <- c("ANSK8__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp6 <- c("ANSK8__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
maccormicki.skua.longicaudus.D3_matrix<-NULL
maccormicki.skua.longicaudus.means<-NULL
maccormicki.skua.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
maccormicki.skua.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.skua.longicaudus.means[[i]]<- mean(maccormicki.skua.longicaudus.D3_matrix[[i]][!is.infinite(maccormicki.skua.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.skua.longicaudus.props[[i]]<- sum(maccormicki.skua.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.skua.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.skua.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = skua
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__LTJA_MKP990", "GRSK_MKP1592__LTJA_MKP990")
comp2 <- c("CHSK_MKP2451__LTJA_MKP990", "GRSK_MKP1593__LTJA_MKP990")
comps<- list(comp1, comp2)
chilensis.skua.longicaudus.D3_matrix<-NULL
chilensis.skua.longicaudus.means<-NULL
chilensis.skua.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.skua.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.skua.longicaudus.means[[i]]<- mean(chilensis.skua.longicaudus.D3_matrix[[i]][!is.infinite(chilensis.skua.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.skua.longicaudus.props[[i]]<- sum(chilensis.skua.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.skua.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.skua.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
####
#P1 (a) = maccormicki
#P2 (b) = antarcticus
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("ANSK01__LTJA_MKP990", "CISK2__LTJA_MKP990")
comp2 <- c("ANSK01__LTJA_MKP990", "CISK3__LTJA_MKP990")
comp3 <- c("ANSK01__LTJA_MKP990", "CISK55__LTJA_MKP990")
comp4 <- c("ANSK7__LTJA_MKP990", "CISK2__LTJA_MKP990")
comp5 <- c("ANSK7__LTJA_MKP990", "CISK3__LTJA_MKP990")
comp6 <- c("ANSK7__LTJA_MKP990", "CISK55__LTJA_MKP990")
comp7 <- c("ANSK8__LTJA_MKP990", "CISK2__LTJA_MKP990")
comp8 <- c("ANSK8__LTJA_MKP990", "CISK3__LTJA_MKP990")
comp9 <- c("ANSK8__LTJA_MKP990", "CISK55__LTJA_MKP990")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9)
maccormicki.antarcticus.longicaudus.D3_matrix<-NULL
maccormicki.antarcticus.longicaudus.means<-NULL
maccormicki.antarcticus.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
maccormicki.antarcticus.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
maccormicki.antarcticus.longicaudus.means[[i]]<- mean(maccormicki.antarcticus.longicaudus.D3_matrix[[i]][!is.infinite(maccormicki.antarcticus.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
maccormicki.antarcticus.longicaudus.props[[i]]<- sum(maccormicki.antarcticus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(maccormicki.antarcticus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(maccormicki.antarcticus.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = antarcticus
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__LTJA_MKP990", "CISK2__LTJA_MKP990")
comp2 <- c("CHSK_MKP2451__LTJA_MKP990", "CISK3__LTJA_MKP990")
comp3 <- c("CHSK_MKP2451__LTJA_MKP990", "CISK55__LTJA_MKP990")
comps<- list(comp1, comp2, comp3)
chilensis.antarcticus.longicaudus.D3_matrix<-NULL
chilensis.antarcticus.longicaudus.means<-NULL
chilensis.antarcticus.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.antarcticus.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.antarcticus.longicaudus.means[[i]]<- mean(chilensis.antarcticus.longicaudus.D3_matrix[[i]][!is.infinite(chilensis.antarcticus.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.antarcticus.longicaudus.props[[i]]<- sum(chilensis.antarcticus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.antarcticus.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.antarcticus.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#P1 (a) = chilensis
#P2 (b) = maccormicki
#P3 (c) = longicaudus
#D3=(d_bc - d_ac)/(d_bc + d_ac) (where a=P1, b=P2, and c=P3)
#provide the correct column for d_ac, and then d_bc
comp1 <- c("CHSK_MKP2451__LTJA_MKP990", "ANSK01__LTJA_MKP990")
comp2 <- c("CHSK_MKP2451__LTJA_MKP990", "ANSK7__LTJA_MKP990")
comp3 <- c("CHSK_MKP2451__LTJA_MKP990", "ANSK8__LTJA_MKP990")
comps<- list(comp1, comp2, comp3)
chilensis.maccormicki.longicaudus.D3_matrix<-NULL
chilensis.maccormicki.longicaudus.means<-NULL
chilensis.maccormicki.longicaudus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(CHSK_MKP2451)<300 & as.numeric(LTJA_MKP990)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_4)<300)
for(i in 1:length(comps)){
chilensis.maccormicki.longicaudus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
chilensis.maccormicki.longicaudus.means[[i]]<- mean(chilensis.maccormicki.longicaudus.D3_matrix[[i]][!is.infinite(chilensis.maccormicki.longicaudus.D3_matrix[[i]])], na.rm = TRUE)
chilensis.maccormicki.longicaudus.props[[i]]<- sum(chilensis.maccormicki.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(chilensis.maccormicki.longicaudus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(chilensis.maccormicki.longicaudus.D3_matrix[[i]]<0, na.rm=TRUE))
}
D3data$tests <- c("chilensis.antarcticus.maccormicki.means", "maccormicki.antarcticus.chilensis.means", "maccormicki.chilensis.antarcticus.means", "maccormicki.antarcticus.skua.means", "chilensis.antarcticus.skua.means", "chilensis.maccormicki.skua.means", "maccormicki.skua.pomarinus.means", "chilensis.skua.pomarinus.means", "antarcticus.skua.pomarinus.means", "chilensis.antarcticus.pomarinus.means", "maccormicki.antarcticus.pomarinus.means", "chilensis.maccormicki.pomarinus.means")
D3data$D3 <- c(mean(unlist(chilensis.antarcticus.maccormicki.means)), mean(unlist(maccormicki.antarcticus.chilensis.means)), mean(unlist(maccormicki.chilensis.antarcticus.means)), mean(unlist(maccormicki.antarcticus.skua.means)), mean(unlist(chilensis.antarcticus.skua.means)), mean(unlist(chilensis.maccormicki.skua.means)), mean(unlist(maccormicki.skua.pomarinus.means)), mean(unlist(chilensis.skua.pomarinus.means)), mean(unlist(antarcticus.skua.pomarinus.means)), mean(unlist(chilensis.antarcticus.pomarinus.means)), mean(unlist(maccormicki.antarcticus.pomarinus.means)), mean(unlist(chilensis.maccormicki.pomarinus.means)))
D3data$props<- c(mean(unlist(chilensis.antarcticus.maccormicki.props)), mean(unlist(maccormicki.antarcticus.chilensis.props)), mean(unlist(maccormicki.chilensis.antarcticus.props)), mean(unlist(maccormicki.antarcticus.skua.props)), mean(unlist(chilensis.antarcticus.skua.props)), mean(unlist(chilensis.maccormicki.skua.props)), mean(unlist(maccormicki.skua.pomarinus.props)), mean(unlist(chilensis.skua.pomarinus.props)), mean(unlist(antarcticus.skua.pomarinus.props)), mean(unlist(chilensis.antarcticus.pomarinus.props)), mean(unlist(maccormicki.antarcticus.pomarinus.props)), mean(unlist(chilensis.maccormicki.pomarinus.props)))
#Save the results into a dataframe
#Firstly, set up variables to hold the results (D3, means, and proportions)
D3data<- NULL
D3data$tests <- c("chilensis.antarcticus.maccormicki.means", "maccormicki.antarcticus.chilensis.means", "maccormicki.chilensis.antarcticus.means", "maccormicki.antarcticus.skua.means", "chilensis.antarcticus.skua.means", "chilensis.maccormicki.skua.means", "maccormicki.skua.pomarinus.means", "chilensis.skua.pomarinus.means", "antarcticus.skua.pomarinus.means", "chilensis.antarcticus.pomarinus.means", "maccormicki.antarcticus.pomarinus.means", "chilensis.maccormicki.pomarinus.means", "longicaudus.parasiticus.pomarinus.means", "longicaudus.parasiticus.maccormicki.means", "longicaudus.parasiticus.antarcticus.means", "longicaudus.parasiticus.skua.means", "longicaudus.parasiticus.chilensis.means", "skua.pomarinus.longicaudus.means", "antarcticus.pomarinus.longicaudus.means", "maccormicki.pomarinus.longicaudus.means", "chilensis.pomarinus.longicaudus.means", "antarcticus.skua.longicaudus.means", "maccormicki.skua.longicaudus.means", "chilensis.skua.longicaudus.means", "maccormicki.antarcticus.longicaudus.means", "chilensis.antarcticus.longicaudus.means", "chilensis.maccormicki.longicaudus.means", "skua.pomarinus.parasiticus.means", "antarcticus.pomarinus.parasiticus.means", "maccormicki.pomarinus.parasiticus.means", "chilensis.pomarinus.parasiticus.means", "antarcticus.skua.parasiticus.means", "maccormicki.skua.parasiticus.means", "chilensis.skua.parasiticus.means", "maccormicki.antarcticus.parasiticus.means", "chilensis.antarcticus.parasiticus.means", "chilensis.maccormicki.parasiticus.means"
)
D3data$D3 <- c(mean(unlist(chilensis.antarcticus.maccormicki.means)), mean(unlist(maccormicki.antarcticus.chilensis.means)), mean(unlist(maccormicki.chilensis.antarcticus.means)), mean(unlist(maccormicki.antarcticus.skua.means)), mean(unlist(chilensis.antarcticus.skua.means)), mean(unlist(chilensis.maccormicki.skua.means)), mean(unlist(maccormicki.skua.pomarinus.means)), mean(unlist(chilensis.skua.pomarinus.means)), mean(unlist(antarcticus.skua.pomarinus.means)), mean(unlist(chilensis.antarcticus.pomarinus.means)), mean(unlist(maccormicki.antarcticus.pomarinus.means)), mean(unlist(chilensis.maccormicki.pomarinus.means)), mean(unlist(longicaudus.parasiticus.pomarinus.means)), mean(unlist(longicaudus.parasiticus.maccormicki.means)), mean(unlist(longicaudus.parasiticus.antarcticus.means)), mean(unlist(longicaudus.parasiticus.skua.means)), mean(unlist(longicaudus.parasiticus.chilensis.means)), mean(unlist(skua.pomarinus.longicaudus.means)), mean(unlist(antarcticus.pomarinus.longicaudus.means)), mean(unlist(maccormicki.pomarinus.longicaudus.means)), mean(unlist(chilensis.pomarinus.longicaudus.means)), mean(unlist(antarcticus.skua.longicaudus.means)), mean(unlist(maccormicki.skua.longicaudus.means)), mean(unlist(chilensis.skua.longicaudus.means)), mean(unlist(maccormicki.antarcticus.longicaudus.means)), mean(unlist(chilensis.antarcticus.longicaudus.means)), mean(unlist(chilensis.maccormicki.longicaudus.means)), mean(unlist(skua.pomarinus.parasiticus.means)), mean(unlist(antarcticus.pomarinus.parasiticus.means)), mean(unlist(maccormicki.pomarinus.parasiticus.means)), mean(unlist(chilensis.pomarinus.parasiticus.means)), mean(unlist(antarcticus.skua.parasiticus.means)), mean(unlist(maccormicki.skua.parasiticus.means)), mean(unlist(chilensis.skua.parasiticus.means)), mean(unlist(maccormicki.antarcticus.parasiticus.means)), mean(unlist(chilensis.antarcticus.parasiticus.means)), mean(unlist(chilensis.maccormicki.parasiticus.means)))
D3data$props<- c(mean(unlist(chilensis.antarcticus.maccormicki.props)), mean(unlist(maccormicki.antarcticus.chilensis.props)), mean(unlist(maccormicki.chilensis.antarcticus.props)), mean(unlist(maccormicki.antarcticus.skua.props)), mean(unlist(chilensis.antarcticus.skua.props)), mean(unlist(chilensis.maccormicki.skua.props)), mean(unlist(maccormicki.skua.pomarinus.props)), mean(unlist(chilensis.skua.pomarinus.props)), mean(unlist(antarcticus.skua.pomarinus.props)), mean(unlist(chilensis.antarcticus.pomarinus.props)), mean(unlist(maccormicki.antarcticus.pomarinus.props)), mean(unlist(chilensis.maccormicki.pomarinus.props)), mean(unlist(longicaudus.parasiticus.pomarinus.props)), mean(unlist(longicaudus.parasiticus.maccormicki.props)), mean(unlist(longicaudus.parasiticus.antarcticus.props)), mean(unlist(longicaudus.parasiticus.skua.props)), mean(unlist(longicaudus.parasiticus.chilensis.props)), mean(unlist(skua.pomarinus.longicaudus.props)), mean(unlist(antarcticus.pomarinus.longicaudus.props)), mean(unlist(maccormicki.pomarinus.longicaudus.props)), mean(unlist(chilensis.pomarinus.longicaudus.props)), mean(unlist(antarcticus.skua.longicaudus.props)), mean(unlist(maccormicki.skua.longicaudus.props)), mean(unlist(chilensis.skua.longicaudus.props)), mean(unlist(maccormicki.antarcticus.longicaudus.props)), mean(unlist(chilensis.antarcticus.longicaudus.props)), mean(unlist(chilensis.maccormicki.longicaudus.props)), mean(unlist(skua.pomarinus.parasiticus.props)), mean(unlist(antarcticus.pomarinus.parasiticus.props)), mean(unlist(maccormicki.pomarinus.parasiticus.props)), mean(unlist(chilensis.pomarinus.parasiticus.props)), mean(unlist(antarcticus.skua.parasiticus.props)), mean(unlist(maccormicki.skua.parasiticus.props)), mean(unlist(chilensis.skua.parasiticus.props)), mean(unlist(maccormicki.antarcticus.parasiticus.props)), mean(unlist(chilensis.antarcticus.parasiticus.props)), mean(unlist(chilensis.maccormicki.parasiticus.props)))
D3data<- as.data.frame(D3data)
D3data
## tests D3 props
## 1 chilensis.antarcticus.maccormicki.means -4.986052e-02 0.4452343
## 2 maccormicki.antarcticus.chilensis.means -4.734796e-02 0.4420250
## 3 maccormicki.chilensis.antarcticus.means 2.005908e-03 0.5021570
## 4 maccormicki.antarcticus.skua.means -5.428597e-02 0.4352394
## 5 chilensis.antarcticus.skua.means -6.429794e-02 0.4233702
## 6 chilensis.maccormicki.skua.means -1.050099e-02 0.4874422
## 7 maccormicki.skua.pomarinus.means -6.343510e-03 0.4891444
## 8 chilensis.skua.pomarinus.means -6.667237e-03 0.4859227
## 9 antarcticus.skua.pomarinus.means -4.689224e-03 0.4907237
## 10 chilensis.antarcticus.pomarinus.means -1.950192e-03 0.4966980
## 11 maccormicki.antarcticus.pomarinus.means -1.671219e-03 0.4996133
## 12 chilensis.maccormicki.pomarinus.means -4.013071e-04 0.4971316
## 13 longicaudus.parasiticus.pomarinus.means -6.376639e-04 0.4947132
## 14 longicaudus.parasiticus.maccormicki.means -7.446078e-06 0.4993856
## 15 longicaudus.parasiticus.antarcticus.means 4.221354e-06 0.4996138
## 16 longicaudus.parasiticus.skua.means -1.647628e-04 0.4977349
## 17 longicaudus.parasiticus.chilensis.means -2.911452e-04 0.4980956
## 18 skua.pomarinus.longicaudus.means -1.143040e-03 0.4865654
## 19 antarcticus.pomarinus.longicaudus.means -2.056234e-03 0.4777593
## 20 maccormicki.pomarinus.longicaudus.means -1.855442e-03 0.4803966
## 21 chilensis.pomarinus.longicaudus.means 2.042591e-04 0.4973185
## 22 antarcticus.skua.longicaudus.means -9.539734e-04 0.4886273
## 23 maccormicki.skua.longicaudus.means -7.742192e-04 0.4916336
## 24 chilensis.skua.longicaudus.means 1.318342e-03 0.5103328
## 25 maccormicki.antarcticus.longicaudus.means 1.515705e-04 0.5036329
## 26 chilensis.antarcticus.longicaudus.means 2.269207e-03 0.5218259
## 27 chilensis.maccormicki.longicaudus.means 2.045381e-03 0.5184314
## 28 skua.pomarinus.parasiticus.means -9.726778e-04 0.4888215
## 29 antarcticus.pomarinus.parasiticus.means -2.042030e-03 0.4772414
## 30 maccormicki.pomarinus.parasiticus.means -1.838959e-03 0.4803032
## 31 chilensis.pomarinus.parasiticus.means 5.372116e-04 0.5011749
## 32 antarcticus.skua.parasiticus.means -1.109004e-03 0.4864696
## 33 maccormicki.skua.parasiticus.means -9.340925e-04 0.4896088
## 34 chilensis.skua.parasiticus.means 1.476733e-03 0.5131941
## 35 maccormicki.antarcticus.parasiticus.means 1.463956e-04 0.5038834
## 36 chilensis.antarcticus.parasiticus.means 2.583115e-03 0.5262949
## 37 chilensis.maccormicki.parasiticus.means 2.360731e-03 0.5225370
Results: no evidence for introgression involving S. parasiticus or S. longicaudus.
We did not detect a strong signature of introgression between pomarinus and skua, but the ABBA BABA test did. D3 relies on signals of branch length, which may provide little signal in cases where there is a lot of ILS. The genetic distance between two S. pomarinus is scarcely lower than between S. pomarinus and Catharacta, so one can imagine than introgression from S. pomarinus to Catharacta would not appreciably lower genetic distances to the introgressed taxon. Let’s calculate the theoretical maximum value of D3 for this trio to evaluate the power of the test for this trio. I will place different S. pomarinus samples in P1 and P3 to mimic a scenario of 100% introgression. How high would D3 be if there were 100% introgression?
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_MKP1559
#P2 (b) = skua
#P3 (c) = pomarinus
comp1 <- c("POJA_4__POJA_MKP1559", "GRSK_MKP1592__POJA_4")
comp2 <- c("POJA_4__POJA_MKP1559", "GRSK_MKP1593__POJA_4")
comp3 <- c("POJA_IB2659__POJA_MKP1559", "GRSK_MKP1592__POJA_IB2659")
comp4 <- c("POJA_IB2659__POJA_MKP1559", "GRSK_MKP1593__POJA_IB2659")
comps<- list(comp1, comp2, comp3, comp4)
pomarinus.skua.pomarinus.D3_matrix<-NULL
pomarinus.skua.pomarinus.means<-NULL
pomarinus.skua.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
pomarinus.skua.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus.skua.pomarinus.means[[i]]<- mean(pomarinus.skua.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus.skua.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus.skua.pomarinus.props[[i]]<- sum(pomarinus.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus.skua.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_4
#P2 (b) = skua
#P3 (c) = pomarinus
comp1 <- c("POJA_4__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp2 <- c("POJA_4__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comp3 <- c("POJA_4__POJA_IB2659", "GRSK_MKP1592__POJA_IB2659")
comp4 <- c("POJA_4__POJA_IB2659", "GRSK_MKP1593__POJA_IB2659")
comps<- list(comp1, comp2, comp3, comp4)
pomarinus4.skua.pomarinus.D3_matrix<-NULL
pomarinus4.skua.pomarinus.means<-NULL
pomarinus4.skua.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
pomarinus4.skua.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus4.skua.pomarinus.means[[i]]<- mean(pomarinus4.skua.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus4.skua.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus4.skua.pomarinus.props[[i]]<- sum(pomarinus4.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus4.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus4.skua.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_4
#P2 (b) = skua
#P3 (c) = pomarinus
comp1 <- c("POJA_IB2659__POJA_MKP1559", "GRSK_MKP1592__POJA_MKP1559")
comp2 <- c("POJA_IB2659__POJA_MKP1559", "GRSK_MKP1593__POJA_MKP1559")
comp3 <- c("POJA_4__POJA_IB2659", "GRSK_MKP1592__POJA_4")
comp4 <- c("POJA_4__POJA_IB2659", "GRSK_MKP1593__POJA_4")
comps<- list(comp1, comp2, comp3, comp4)
pomarinusIB2659.skua.pomarinus.D3_matrix<-NULL
pomarinusIB2659.skua.pomarinus.means<-NULL
pomarinusIB2659.skua.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300)
for(i in 1:length(comps)){
pomarinusIB2659.skua.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinusIB2659.skua.pomarinus.means[[i]]<- mean(pomarinusIB2659.skua.pomarinus.D3_matrix[[i]][!is.infinite(pomarinusIB2659.skua.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinusIB2659.skua.pomarinus.props[[i]]<- sum(pomarinusIB2659.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinusIB2659.skua.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinusIB2659.skua.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
pomarinusIB2659.skua.pomarinus.means
## [[1]]
## [1] 0.003631026
##
## [[2]]
## [1] 0.008920075
##
## [[3]]
## [1] 0.01213373
##
## [[4]]
## [1] 0.009589886
pomarinusIB2659.skua.pomarinus.props
## [[1]]
## [1] 0.502268
##
## [[2]]
## [1] 0.5137096
##
## [[3]]
## [1] 0.5182082
##
## [[4]]
## [1] 0.5132898
pomarinus4.skua.pomarinus.means
## [[1]]
## [1] 0.005191579
##
## [[2]]
## [1] 0.01038721
##
## [[3]]
## [1] 0.01417193
##
## [[4]]
## [1] 0.01237901
pomarinus4.skua.pomarinus.props
## [[1]]
## [1] 0.5060819
##
## [[2]]
## [1] 0.5169436
##
## [[3]]
## [1] 0.5218661
##
## [[4]]
## [1] 0.5203114
pomarinus.skua.pomarinus.means
## [[1]]
## [1] 0.002418942
##
## [[2]]
## [1] -4.383194e-05
##
## [[3]]
## [1] 0.003193507
##
## [[4]]
## [1] 0.001286669
pomarinus.skua.pomarinus.props
## [[1]]
## [1] 0.5029409
##
## [[2]]
## [1] 0.5007466
##
## [[3]]
## [1] 0.5050284
##
## [[4]]
## [1] 0.5024561
mean(c(as.numeric(pomarinusIB2659.skua.pomarinus.means), as.numeric(pomarinus4.skua.pomarinus.means), as.numeric(pomarinus.skua.pomarinus.means)))
## [1] 0.006938311
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus
#P2 (b) = chilensis
#P3 (c) = pomarinus
comp1 <- c("POJA_IB2659__POJA_MKP1559", "CHSK_MKP2451__POJA_IB2659")
comp2 <- c("POJA_IB2659__POJA_MKP1559", "CHSK_MKP2451__POJA_MKP1559")
comp3 <- c("POJA_4__POJA_IB2659", "CHSK_MKP2451__POJA_IB2659")
comp4 <- c("POJA_4__POJA_IB2659", "CHSK_MKP2451__POJA_4")
comp5 <- c("POJA_4__POJA_MKP1559", "CHSK_MKP2451__POJA_MKP1559")
comp6 <- c("POJA_4__POJA_MKP1559", "CHSK_MKP2451__POJA_4")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinus.chilensis.pomarinus.D3_matrix<-NULL
pomarinus.chilensis.pomarinus.means<-NULL
pomarinus.chilensis.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(CHSK_MKP2451)<300)
for(i in 1:length(comps)){
pomarinus.chilensis.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus.chilensis.pomarinus.means[[i]]<- mean(pomarinus.chilensis.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus.chilensis.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus.chilensis.pomarinus.props[[i]]<- sum(pomarinus.chilensis.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus.chilensis.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus.chilensis.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
pomarinus.chilensis.pomarinus.means
## [[1]]
## [1] 0.00783082
##
## [[2]]
## [1] 0.009269307
##
## [[3]]
## [1] 0.01869921
##
## [[4]]
## [1] 0.01659325
##
## [[5]]
## [1] 0.01097573
##
## [[6]]
## [1] 0.007427092
mean(as.numeric(pomarinus.chilensis.pomarinus.means))
## [1] 0.01179923
# antarcticus
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_MKP1559
#P2 (b) = antarcticus
#P3 (c) = pomarinus
comp1 <- c("POJA_4__POJA_MKP1559", "CISK3__POJA_4")
comp2 <- c("POJA_4__POJA_MKP1559", "CISK55__POJA_4")
comp3 <- c("POJA_4__POJA_MKP1559", "CISK2__POJA_4")
comp4 <- c("POJA_IB2659__POJA_MKP1559", "CISK3__POJA_IB2659")
comp5 <- c("POJA_IB2659__POJA_MKP1559", "CISK55__POJA_IB2659")
comp6 <- c("POJA_IB2659__POJA_MKP1559", "CISK2__POJA_IB2659")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinus.antarcticus.pomarinus.D3_matrix<-NULL
pomarinus.antarcticus.pomarinus.means<-NULL
pomarinus.antarcticus.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(CISK3)<300 & as.numeric(CISK2)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
pomarinus.antarcticus.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus.antarcticus.pomarinus.means[[i]]<- mean(pomarinus.antarcticus.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus.antarcticus.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus.antarcticus.pomarinus.props[[i]]<- sum(pomarinus.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus.antarcticus.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_4
#P2 (b) = antarcticus
#P3 (c) = pomarinus
comp1 <- c("POJA_4__POJA_MKP1559", "CISK2__POJA_MKP1559")
comp2 <- c("POJA_4__POJA_MKP1559", "CISK3__POJA_MKP1559")
comp3 <- c("POJA_4__POJA_MKP1559", "CISK55__POJA_MKP1559")
comp4 <- c("POJA_4__POJA_IB2659", "CISK2__POJA_IB2659")
comp5 <- c("POJA_4__POJA_IB2659", "CISK3__POJA_IB2659")
comp6 <- c("POJA_4__POJA_IB2659", "CISK55__POJA_IB2659")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinus4.antarcticus.pomarinus.D3_matrix<-NULL
pomarinus4.antarcticus.pomarinus.means<-NULL
pomarinus4.antarcticus.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(CISK3)<300 & as.numeric(CISK2)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
pomarinus4.antarcticus.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus4.antarcticus.pomarinus.means[[i]]<- mean(pomarinus4.antarcticus.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus4.antarcticus.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus4.antarcticus.pomarinus.props[[i]]<- sum(pomarinus4.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus4.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus4.antarcticus.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_4
#P2 (b) = antarcticus
#P3 (c) = pomarinus
comp1 <- c("POJA_IB2659__POJA_MKP1559", "CISK2__POJA_MKP1559")
comp2 <- c("POJA_IB2659__POJA_MKP1559", "CISK3__POJA_MKP1559")
comp3 <- c("POJA_IB2659__POJA_MKP1559", "CISK55__POJA_MKP1559")
comp4 <- c("POJA_4__POJA_IB2659", "CISK2__POJA_4")
comp5 <- c("POJA_4__POJA_IB2659", "CISK3__POJA_4")
comp6 <- c("POJA_4__POJA_IB2659", "CISK55__POJA_4")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinusIB2659.antarcticus.pomarinus.D3_matrix<-NULL
pomarinusIB2659.antarcticus.pomarinus.means<-NULL
pomarinusIB2659.antarcticus.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(CISK3)<300 & as.numeric(CISK2)<300 & as.numeric(CISK55)<300)
for(i in 1:length(comps)){
pomarinusIB2659.antarcticus.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinusIB2659.antarcticus.pomarinus.means[[i]]<- mean(pomarinusIB2659.antarcticus.pomarinus.D3_matrix[[i]][!is.infinite(pomarinusIB2659.antarcticus.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinusIB2659.antarcticus.pomarinus.props[[i]]<- sum(pomarinusIB2659.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinusIB2659.antarcticus.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinusIB2659.antarcticus.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
pomarinusIB2659.antarcticus.pomarinus.means
## [[1]]
## [1] 0.0141218
##
## [[2]]
## [1] 0.004937757
##
## [[3]]
## [1] 0.01492866
##
## [[4]]
## [1] 0.01421929
##
## [[5]]
## [1] 0.01142435
##
## [[6]]
## [1] 0.01485835
pomarinusIB2659.antarcticus.pomarinus.props
## [[1]]
## [1] 0.5229848
##
## [[2]]
## [1] 0.5048809
##
## [[3]]
## [1] 0.5238199
##
## [[4]]
## [1] 0.5225278
##
## [[5]]
## [1] 0.5180745
##
## [[6]]
## [1] 0.5225576
pomarinus4.antarcticus.pomarinus.means
## [[1]]
## [1] 0.01568544
##
## [[2]]
## [1] 0.006449582
##
## [[3]]
## [1] 0.01657076
##
## [[4]]
## [1] 0.0166436
##
## [[5]]
## [1] 0.0137895
##
## [[6]]
## [1] 0.01698686
pomarinus4.antarcticus.pomarinus.props
## [[1]]
## [1] 0.5249653
##
## [[2]]
## [1] 0.5060205
##
## [[3]]
## [1] 0.52647
##
## [[4]]
## [1] 0.5260739
##
## [[5]]
## [1] 0.5215969
##
## [[6]]
## [1] 0.5282813
pomarinus.antarcticus.pomarinus.means
## [[1]]
## [1] 0.00135136
##
## [[2]]
## [1] 0.004825694
##
## [[3]]
## [1] 0.004163268
##
## [[4]]
## [1] 0.002140098
##
## [[5]]
## [1] 0.005314268
##
## [[6]]
## [1] 0.004955488
pomarinus.antarcticus.pomarinus.props
## [[1]]
## [1] 0.5031592
##
## [[2]]
## [1] 0.5090577
##
## [[3]]
## [1] 0.5078865
##
## [[4]]
## [1] 0.5042359
##
## [[5]]
## [1] 0.508904
##
## [[6]]
## [1] 0.5082083
mean(c(as.numeric(pomarinusIB2659.antarcticus.pomarinus.means), as.numeric(pomarinus4.antarcticus.pomarinus.means), as.numeric(pomarinus.antarcticus.pomarinus.means)))
## [1] 0.01018701
# maccormicki
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_MKP1559
#P2 (b) = maccormicki
#P3 (c) = pomarinus
comp1 <- c("POJA_4__POJA_MKP1559", "ANSK8__POJA_4")
comp2 <- c("POJA_4__POJA_MKP1559", "ANSK01__POJA_4")
comp3 <- c("POJA_4__POJA_MKP1559", "ANSK7__POJA_4")
comp4 <- c("POJA_IB2659__POJA_MKP1559", "ANSK8__POJA_IB2659")
comp5 <- c("POJA_IB2659__POJA_MKP1559", "ANSK01__POJA_IB2659")
comp6 <- c("POJA_IB2659__POJA_MKP1559", "ANSK7__POJA_IB2659")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinus.maccormicki.pomarinus.D3_matrix<-NULL
pomarinus.maccormicki.pomarinus.means<-NULL
pomarinus.maccormicki.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(ANSK8)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK01)<300)
for(i in 1:length(comps)){
pomarinus.maccormicki.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus.maccormicki.pomarinus.means[[i]]<- mean(pomarinus.maccormicki.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus.maccormicki.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus.maccormicki.pomarinus.props[[i]]<- sum(pomarinus.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus.maccormicki.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_4
#P2 (b) = maccormicki
#P3 (c) = pomarinus
comp1 <- c("POJA_4__POJA_MKP1559", "ANSK7__POJA_MKP1559")
comp2 <- c("POJA_4__POJA_MKP1559", "ANSK8__POJA_MKP1559")
comp3 <- c("POJA_4__POJA_MKP1559", "ANSK01__POJA_MKP1559")
comp4 <- c("POJA_4__POJA_IB2659", "ANSK7__POJA_IB2659")
comp5 <- c("POJA_4__POJA_IB2659", "ANSK8__POJA_IB2659")
comp6 <- c("POJA_4__POJA_IB2659", "ANSK01__POJA_IB2659")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinus4.maccormicki.pomarinus.D3_matrix<-NULL
pomarinus4.maccormicki.pomarinus.means<-NULL
pomarinus4.maccormicki.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(ANSK8)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK01)<300)
for(i in 1:length(comps)){
pomarinus4.maccormicki.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus4.maccormicki.pomarinus.means[[i]]<- mean(pomarinus4.maccormicki.pomarinus.D3_matrix[[i]][!is.infinite(pomarinus4.maccormicki.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinus4.maccormicki.pomarinus.props[[i]]<- sum(pomarinus4.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus4.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus4.maccormicki.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within pomarinus
#P1 (a) = pomarinus POJA_4
#P2 (b) = maccormicki
#P3 (c) = pomarinus
comp1 <- c("POJA_IB2659__POJA_MKP1559", "ANSK7__POJA_MKP1559")
comp2 <- c("POJA_IB2659__POJA_MKP1559", "ANSK8__POJA_MKP1559")
comp3 <- c("POJA_IB2659__POJA_MKP1559", "ANSK01__POJA_MKP1559")
comp4 <- c("POJA_4__POJA_IB2659", "ANSK7__POJA_4")
comp5 <- c("POJA_4__POJA_IB2659", "ANSK8__POJA_4")
comp6 <- c("POJA_4__POJA_IB2659", "ANSK01__POJA_4")
comps<- list(comp1, comp2, comp3, comp4, comp5, comp6)
pomarinusIB2659.maccormicki.pomarinus.D3_matrix<-NULL
pomarinusIB2659.maccormicki.pomarinus.means<-NULL
pomarinusIB2659.maccormicki.pomarinus.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(ANSK8)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK01)<300)
for(i in 1:length(comps)){
pomarinusIB2659.maccormicki.pomarinus.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinusIB2659.maccormicki.pomarinus.means[[i]]<- mean(pomarinusIB2659.maccormicki.pomarinus.D3_matrix[[i]][!is.infinite(pomarinusIB2659.maccormicki.pomarinus.D3_matrix[[i]])], na.rm = TRUE)
pomarinusIB2659.maccormicki.pomarinus.props[[i]]<- sum(pomarinusIB2659.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinusIB2659.maccormicki.pomarinus.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinusIB2659.maccormicki.pomarinus.D3_matrix[[i]]<0, na.rm=TRUE))
}
pomarinusIB2659.maccormicki.pomarinus.means
## [[1]]
## [1] 0.007330397
##
## [[2]]
## [1] 0.01763931
##
## [[3]]
## [1] 0.01611291
##
## [[4]]
## [1] 0.01586912
##
## [[5]]
## [1] 0.0178908
##
## [[6]]
## [1] 0.01702402
pomarinusIB2659.maccormicki.pomarinus.props
## [[1]]
## [1] 0.5080482
##
## [[2]]
## [1] 0.52827
##
## [[3]]
## [1] 0.5251772
##
## [[4]]
## [1] 0.5219875
##
## [[5]]
## [1] 0.5281419
##
## [[6]]
## [1] 0.5253271
pomarinus4.maccormicki.pomarinus.means
## [[1]]
## [1] 0.009235568
##
## [[2]]
## [1] 0.01940214
##
## [[3]]
## [1] 0.01801014
##
## [[4]]
## [1] 0.0176819
##
## [[5]]
## [1] 0.02011003
##
## [[6]]
## [1] 0.01885789
pomarinus4.maccormicki.pomarinus.props
## [[1]]
## [1] 0.510568
##
## [[2]]
## [1] 0.5301354
##
## [[3]]
## [1] 0.5277185
##
## [[4]]
## [1] 0.5249976
##
## [[5]]
## [1] 0.5307599
##
## [[6]]
## [1] 0.5285404
pomarinus.maccormicki.pomarinus.means
## [[1]]
## [1] 0.007671517
##
## [[2]]
## [1] 0.006836645
##
## [[3]]
## [1] 0.005730667
##
## [[4]]
## [1] 0.008206228
##
## [[5]]
## [1] 0.006880458
##
## [[6]]
## [1] 0.005762977
pomarinus.maccormicki.pomarinus.props
## [[1]]
## [1] 0.5126928
##
## [[2]]
## [1] 0.5102726
##
## [[3]]
## [1] 0.5090788
##
## [[4]]
## [1] 0.5133619
##
## [[5]]
## [1] 0.5101483
##
## [[6]]
## [1] 0.5075669
mean(c(as.numeric(pomarinusIB2659.maccormicki.pomarinus.means), as.numeric(pomarinus4.maccormicki.pomarinus.means), as.numeric(pomarinus.maccormicki.pomarinus.means)))
## [1] 0.01312515
The value of D3 is low and positive (suggesting that a given S. pomarinus is closer to another S. pomarinus than to S. skua, as we would expect). The magnitude is on the order of 0.01213373 to -4.383194e-05 depending on which S. skua and S. pomarinus we choose. The mean is 0.006938311, which is barely higher than the value we saw with S. skua (-4.689224e-03)! What this means: if S. skua had 100% introgression from S. pomarinus in the present day, we would expect a value of -0.007. We observe a value of -0.005. Taken at face value (but there are many caveats), this would suggest 71% introgression, even though the value is very low magnitude! Of course, D3 is very sensitive to errors and biases in the data, so this % should not be given any weight, especially since it is somewhat variable depending on which individuals are chosen. Note that when chilensis is used instead of skua in P2, D3=0.011. This suggests a magnitude of introgression into S. skua of 45%, taken at face value (do not take this at face value). If we use S. antarcticus as P2, then mean D3=0.01018701, and if we use S. maccormicki, the mean is D3=0.01312515 (so, the average is 0.01 whichever southern hemisphere skua we use).
For comparison, let’s see how high the power would have been for introgression from S. parasiticus into S. pomarinus.
#Test whether there is signal within paja-poja
#P1 (a) = pomarinus
#P2 (b) = parasiticus ib
#P3 (c) = parasiticus b20
comp1 <- c("PAJA_B20730__POJA_MKP1559", "PAJA_B20730__PAJA_USNM606730")
comp2 <- c("PAJA_B20730__POJA_IB2659", "PAJA_B20730__PAJA_USNM606730")
comp3 <- c("PAJA_B20730__POJA_4", "PAJA_B20730__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3)
pomarinus.pajaib.pajab20.D3_matrix<-NULL
pomarinus.pajaib.pajab20.means<-NULL
pomarinus.pajaib.pajab20.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300)
for(i in 1:length(comps)){
pomarinus.pajaib.pajab20.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus.pajaib.pajab20.means[[i]]<- mean(pomarinus.pajaib.pajab20.D3_matrix[[i]][!is.infinite(pomarinus.pajaib.pajab20.D3_matrix[[i]])], na.rm = TRUE)
pomarinus.pajaib.pajab20.props[[i]]<- sum(pomarinus.pajaib.pajab20.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus.pajaib.pajab20.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus.pajaib.pajab20.D3_matrix[[i]]<0, na.rm=TRUE))
}
#Test whether there is signal within paja-poja
#P1 (a) = pajab20 POJA_4
#P2 (b) = pajaib
#P3 (c) = pajab20
comp1 <- c("PAJA_USNM606730__POJA_MKP1559", "PAJA_B20730__PAJA_USNM606730")
comp2 <- c("PAJA_USNM606730__POJA_IB2659", "PAJA_B20730__PAJA_USNM606730")
comp3 <- c("PAJA_USNM606730__POJA_4", "PAJA_B20730__PAJA_USNM606730")
comps<- list(comp1, comp2, comp3)
pomarinus.pajab20.pajaib.D3_matrix<-NULL
pomarinus.pajab20.pajaib.means<-NULL
pomarinus.pajab20.pajaib.props<-NULL
filtered_dists <- dists_select %>%
filter(as.numeric(POJA_4)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300)
for(i in 1:length(comps)){
pomarinus.pajab20.pajaib.D3_matrix[[i]] <- (filtered_dists[[comps[[i]][2]]]-filtered_dists[[comps[[i]][1]]])/(filtered_dists[[comps[[i]][2]]]+filtered_dists[[comps[[i]][1]]])
pomarinus.pajab20.pajaib.means[[i]]<- mean(pomarinus.pajab20.pajaib.D3_matrix[[i]][!is.infinite(pomarinus.pajab20.pajaib.D3_matrix[[i]])], na.rm = TRUE)
pomarinus.pajab20.pajaib.props[[i]]<- sum(pomarinus.pajab20.pajaib.D3_matrix[[i]]>0, na.rm = TRUE)/(sum(pomarinus.pajab20.pajaib.D3_matrix[[i]]>0, na.rm = TRUE)+sum(pomarinus.pajab20.pajaib.D3_matrix[[i]]<0, na.rm=TRUE))
}
pomarinus.pajab20.pajaib.means
## [[1]]
## [1] -0.7684844
##
## [[2]]
## [1] -0.7694454
##
## [[3]]
## [1] -0.7692459
pomarinus.pajab20.pajaib.props
## [[1]]
## [1] 2.225041e-05
##
## [[2]]
## [1] 0
##
## [[3]]
## [1] 0
pomarinus.pajaib.pajab20.means
## [[1]]
## [1] -0.7689978
##
## [[2]]
## [1] -0.7700003
##
## [[3]]
## [1] -0.7697454
pomarinus.pajaib.pajab20.props
## [[1]]
## [1] 1.48336e-05
##
## [[2]]
## [1] 1.48336e-05
##
## [[3]]
## [1] 2.225041e-05
mean(c(as.numeric(pomarinus.pajab20.pajaib.means), as.numeric(pomarinus.pajaib.pajab20.means)))
## [1] -0.7693199
The results show that D3 has a lot of power to detect introgression between S. pomarinus and the small jaegers, as expected by their high genetic distances.
The last thing that I will calculate are the average genetic distances between each sample.
meands <- NA
meands$ANSK01__ANSK01 <- dists_select %>% filter(as.numeric(ANSK01) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__ANSK01 = mean(ANSK01__ANSK01, na.rm=T))
meands$ANSK01__ANSK7 <- dists_select %>% filter(as.numeric(ANSK7) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__ANSK7 = mean(ANSK01__ANSK7, na.rm=T))
meands$ANSK01__ANSK8 <- dists_select %>% filter(as.numeric(ANSK8) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__ANSK8 = mean(ANSK01__ANSK8, na.rm=T))
meands$ANSK01__Alca_torda <- dists_select %>% filter(as.numeric(Alca_torda) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__Alca_torda = mean(ANSK01__Alca_torda, na.rm=T))
meands$ANSK01__CHSK_MKP2451 <- dists_select %>% filter(as.numeric(CHSK_MKP2451) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__CHSK_MKP2451 = mean(ANSK01__CHSK_MKP2451, na.rm=T))
meands$ANSK01__CISK2 <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__CISK2 = mean(ANSK01__CISK2, na.rm=T))
meands$ANSK01__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__CISK3 = mean(ANSK01__CISK3, na.rm=T))
meands$ANSK01__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__CISK55 = mean(ANSK01__CISK55, na.rm=T))
meands$ANSK01__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__Fratercula_arctica = mean(ANSK01__Fratercula_arctica, na.rm=T))
meands$ANSK01__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__GRSK_MKP1592 = mean(ANSK01__GRSK_MKP1592, na.rm=T))
meands$ANSK01__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__GRSK_MKP1593 = mean(ANSK01__GRSK_MKP1593, na.rm=T))
meands$ANSK01__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__LTJA_MKP990 = mean(ANSK01__LTJA_MKP990, na.rm=T))
meands$ANSK01__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__PAJA_B20730 = mean(ANSK01__PAJA_B20730, na.rm=T))
meands$ANSK01__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__PAJA_USNM606730 = mean(ANSK01__PAJA_USNM606730, na.rm=T))
meands$ANSK01__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__POJA_4 = mean(ANSK01__POJA_4, na.rm=T))
meands$ANSK01__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__POJA_IB2659 = mean(ANSK01__POJA_IB2659, na.rm=T))
meands$ANSK01__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(ANSK01) < 300) %>% summarise(mean_ANSK01__POJA_MKP1559 = mean(ANSK01__POJA_MKP1559, na.rm=T))
meands$ANSK7__ANSK7 <- dists_select %>% filter(as.numeric(ANSK7) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__ANSK7 = mean(ANSK7__ANSK7, na.rm=T))
meands$ANSK7__ANSK8 <- dists_select %>% filter(as.numeric(ANSK8) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__ANSK8 = mean(ANSK7__ANSK8, na.rm=T))
meands$ANSK7__Alca_torda <- dists_select %>% filter(as.numeric(Alca_torda) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__Alca_torda = mean(ANSK7__Alca_torda, na.rm=T))
meands$ANSK7__CHSK_MKP2451 <- dists_select %>% filter(as.numeric(CHSK_MKP2451) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__CHSK_MKP2451 = mean(ANSK7__CHSK_MKP2451, na.rm=T))
meands$ANSK7__CISK2 <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__CISK2 = mean(ANSK7__CISK2, na.rm=T))
meands$ANSK7__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__CISK3 = mean(ANSK7__CISK3, na.rm=T))
meands$ANSK7__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__CISK55 = mean(ANSK7__CISK55, na.rm=T))
meands$ANSK7__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__Fratercula_arctica = mean(ANSK7__Fratercula_arctica, na.rm=T))
meands$ANSK7__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__GRSK_MKP1592 = mean(ANSK7__GRSK_MKP1592, na.rm=T))
meands$ANSK7__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__GRSK_MKP1593 = mean(ANSK7__GRSK_MKP1593, na.rm=T))
meands$ANSK7__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__LTJA_MKP990 = mean(ANSK7__LTJA_MKP990, na.rm=T))
meands$ANSK7__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__PAJA_B20730 = mean(ANSK7__PAJA_B20730, na.rm=T))
meands$ANSK7__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__PAJA_USNM606730 = mean(ANSK7__PAJA_USNM606730, na.rm=T))
meands$ANSK7__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__POJA_4 = mean(ANSK7__POJA_4, na.rm=T))
meands$ANSK7__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__POJA_IB2659 = mean(ANSK7__POJA_IB2659, na.rm=T))
meands$ANSK7__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(ANSK7) < 300) %>% summarise(mean_ANSK7__POJA_MKP1559 = mean(ANSK7__POJA_MKP1559, na.rm=T))
meands$ANSK8__ANSK8 <- dists_select %>% filter(as.numeric(ANSK8) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__ANSK8 = mean(ANSK8__ANSK8, na.rm=T))
meands$ANSK8__Alca_torda <- dists_select %>% filter(as.numeric(Alca_torda) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__Alca_torda = mean(ANSK8__Alca_torda, na.rm=T))
meands$ANSK8__CHSK_MKP2451 <- dists_select %>% filter(as.numeric(CHSK_MKP2451) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__CHSK_MKP2451 = mean(ANSK8__CHSK_MKP2451, na.rm=T))
meands$ANSK8__CISK2 <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__CISK2 = mean(ANSK8__CISK2, na.rm=T))
meands$ANSK8__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__CISK3 = mean(ANSK8__CISK3, na.rm=T))
meands$ANSK8__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__CISK55 = mean(ANSK8__CISK55, na.rm=T))
meands$ANSK8__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__Fratercula_arctica = mean(ANSK8__Fratercula_arctica, na.rm=T))
meands$ANSK8__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__GRSK_MKP1592 = mean(ANSK8__GRSK_MKP1592, na.rm=T))
meands$ANSK8__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__GRSK_MKP1593 = mean(ANSK8__GRSK_MKP1593, na.rm=T))
meands$ANSK8__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__LTJA_MKP990 = mean(ANSK8__LTJA_MKP990, na.rm=T))
meands$ANSK8__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__PAJA_B20730 = mean(ANSK8__PAJA_B20730, na.rm=T))
meands$ANSK8__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__PAJA_USNM606730 = mean(ANSK8__PAJA_USNM606730, na.rm=T))
meands$ANSK8__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__POJA_4 = mean(ANSK8__POJA_4, na.rm=T))
meands$ANSK8__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__POJA_IB2659 = mean(ANSK8__POJA_IB2659, na.rm=T))
meands$ANSK8__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(ANSK8) < 300) %>% summarise(mean_ANSK8__POJA_MKP1559 = mean(ANSK8__POJA_MKP1559, na.rm=T))
meands$Alca_torda__Alca_torda <- dists_select %>% filter(as.numeric(Alca_torda) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__Alca_torda = mean(Alca_torda__Alca_torda, na.rm=T))
meands$Alca_torda__CHSK_MKP2451 <- dists_select %>% filter(as.numeric(CHSK_MKP2451) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__CHSK_MKP2451 = mean(Alca_torda__CHSK_MKP2451, na.rm=T))
meands$Alca_torda__CISK2 <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__CISK2 = mean(Alca_torda__CISK2, na.rm=T))
meands$Alca_torda__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__CISK3 = mean(Alca_torda__CISK3, na.rm=T))
meands$Alca_torda__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__CISK55 = mean(Alca_torda__CISK55, na.rm=T))
meands$Alca_torda__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__Fratercula_arctica = mean(Alca_torda__Fratercula_arctica, na.rm=T))
meands$Alca_torda__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__GRSK_MKP1592 = mean(Alca_torda__GRSK_MKP1592, na.rm=T))
meands$Alca_torda__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__GRSK_MKP1593 = mean(Alca_torda__GRSK_MKP1593, na.rm=T))
meands$Alca_torda__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__LTJA_MKP990 = mean(Alca_torda__LTJA_MKP990, na.rm=T))
meands$Alca_torda__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__PAJA_B20730 = mean(Alca_torda__PAJA_B20730, na.rm=T))
meands$Alca_torda__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__PAJA_USNM606730 = mean(Alca_torda__PAJA_USNM606730, na.rm=T))
meands$Alca_torda__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__POJA_4 = mean(Alca_torda__POJA_4, na.rm=T))
meands$Alca_torda__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__POJA_IB2659 = mean(Alca_torda__POJA_IB2659, na.rm=T))
meands$Alca_torda__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(Alca_torda) < 300) %>% summarise(mean_Alca_torda__POJA_MKP1559 = mean(Alca_torda__POJA_MKP1559, na.rm=T))
meands$CHSK_MKP2451__CHSK_MKP2451 <- dists_select %>% filter(as.numeric(CHSK_MKP2451) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__CHSK_MKP2451 = mean(CHSK_MKP2451__CHSK_MKP2451, na.rm=T))
meands$CHSK_MKP2451__CISK2 <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__CISK2 = mean(CHSK_MKP2451__CISK2, na.rm=T))
meands$CHSK_MKP2451__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__CISK3 = mean(CHSK_MKP2451__CISK3, na.rm=T))
meands$CHSK_MKP2451__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__CISK55 = mean(CHSK_MKP2451__CISK55, na.rm=T))
meands$CHSK_MKP2451__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__Fratercula_arctica = mean(CHSK_MKP2451__Fratercula_arctica, na.rm=T))
meands$CHSK_MKP2451__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__GRSK_MKP1592 = mean(CHSK_MKP2451__GRSK_MKP1592, na.rm=T))
meands$CHSK_MKP2451__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__GRSK_MKP1593 = mean(CHSK_MKP2451__GRSK_MKP1593, na.rm=T))
meands$CHSK_MKP2451__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__LTJA_MKP990 = mean(CHSK_MKP2451__LTJA_MKP990, na.rm=T))
meands$CHSK_MKP2451__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__PAJA_B20730 = mean(CHSK_MKP2451__PAJA_B20730, na.rm=T))
meands$CHSK_MKP2451__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__PAJA_USNM606730 = mean(CHSK_MKP2451__PAJA_USNM606730, na.rm=T))
meands$CHSK_MKP2451__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__POJA_4 = mean(CHSK_MKP2451__POJA_4, na.rm=T))
meands$CHSK_MKP2451__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__POJA_IB2659 = mean(CHSK_MKP2451__POJA_IB2659, na.rm=T))
meands$CHSK_MKP2451__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(CHSK_MKP2451) < 300) %>% summarise(mean_CHSK_MKP2451__POJA_MKP1559 = mean(CHSK_MKP2451__POJA_MKP1559, na.rm=T))
meands$CISK2__CISK2 <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__CISK2 = mean(CISK2__CISK2, na.rm=T))
meands$CISK2__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__CISK3 = mean(CISK2__CISK3, na.rm=T))
meands$CISK2__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__CISK55 = mean(CISK2__CISK55, na.rm=T))
meands$CISK2__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__Fratercula_arctica = mean(CISK2__Fratercula_arctica, na.rm=T))
meands$CISK2__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__GRSK_MKP1592 = mean(CISK2__GRSK_MKP1592, na.rm=T))
meands$CISK2__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__GRSK_MKP1593 = mean(CISK2__GRSK_MKP1593, na.rm=T))
meands$CISK2__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__LTJA_MKP990 = mean(CISK2__LTJA_MKP990, na.rm=T))
meands$CISK2__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__PAJA_B20730 = mean(CISK2__PAJA_B20730, na.rm=T))
meands$CISK2__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__PAJA_USNM606730 = mean(CISK2__PAJA_USNM606730, na.rm=T))
meands$CISK2__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__POJA_4 = mean(CISK2__POJA_4, na.rm=T))
meands$CISK2__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__POJA_IB2659 = mean(CISK2__POJA_IB2659, na.rm=T))
meands$CISK2__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(CISK2) < 300) %>% summarise(mean_CISK2__POJA_MKP1559 = mean(CISK2__POJA_MKP1559, na.rm=T))
meands$CISK3__CISK3 <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__CISK3 = mean(CISK3__CISK3, na.rm=T))
meands$CISK3__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__CISK55 = mean(CISK3__CISK55, na.rm=T))
meands$CISK3__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__Fratercula_arctica = mean(CISK3__Fratercula_arctica, na.rm=T))
meands$CISK3__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__GRSK_MKP1592 = mean(CISK3__GRSK_MKP1592, na.rm=T))
meands$CISK3__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__GRSK_MKP1593 = mean(CISK3__GRSK_MKP1593, na.rm=T))
meands$CISK3__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__LTJA_MKP990 = mean(CISK3__LTJA_MKP990, na.rm=T))
meands$CISK3__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__PAJA_B20730 = mean(CISK3__PAJA_B20730, na.rm=T))
meands$CISK3__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__PAJA_USNM606730 = mean(CISK3__PAJA_USNM606730, na.rm=T))
meands$CISK3__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__POJA_4 = mean(CISK3__POJA_4, na.rm=T))
meands$CISK3__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__POJA_IB2659 = mean(CISK3__POJA_IB2659, na.rm=T))
meands$CISK3__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(CISK3) < 300) %>% summarise(mean_CISK3__POJA_MKP1559 = mean(CISK3__POJA_MKP1559, na.rm=T))
meands$CISK55__CISK55 <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__CISK55 = mean(CISK55__CISK55, na.rm=T))
meands$CISK55__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__Fratercula_arctica = mean(CISK55__Fratercula_arctica, na.rm=T))
meands$CISK55__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__GRSK_MKP1592 = mean(CISK55__GRSK_MKP1592, na.rm=T))
meands$CISK55__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__GRSK_MKP1593 = mean(CISK55__GRSK_MKP1593, na.rm=T))
meands$CISK55__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__LTJA_MKP990 = mean(CISK55__LTJA_MKP990, na.rm=T))
meands$CISK55__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__PAJA_B20730 = mean(CISK55__PAJA_B20730, na.rm=T))
meands$CISK55__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__PAJA_USNM606730 = mean(CISK55__PAJA_USNM606730, na.rm=T))
meands$CISK55__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__POJA_4 = mean(CISK55__POJA_4, na.rm=T))
meands$CISK55__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__POJA_IB2659 = mean(CISK55__POJA_IB2659, na.rm=T))
meands$CISK55__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(CISK55) < 300) %>% summarise(mean_CISK55__POJA_MKP1559 = mean(CISK55__POJA_MKP1559, na.rm=T))
meands$Fratercula_arctica__Fratercula_arctica <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__Fratercula_arctica = mean(Fratercula_arctica__Fratercula_arctica, na.rm=T))
meands$Fratercula_arctica__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__GRSK_MKP1592 = mean(Fratercula_arctica__GRSK_MKP1592, na.rm=T))
meands$Fratercula_arctica__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__GRSK_MKP1593 = mean(Fratercula_arctica__GRSK_MKP1593, na.rm=T))
meands$Fratercula_arctica__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__LTJA_MKP990 = mean(Fratercula_arctica__LTJA_MKP990, na.rm=T))
meands$Fratercula_arctica__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__PAJA_B20730 = mean(Fratercula_arctica__PAJA_B20730, na.rm=T))
meands$Fratercula_arctica__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__PAJA_USNM606730 = mean(Fratercula_arctica__PAJA_USNM606730, na.rm=T))
meands$Fratercula_arctica__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__POJA_4 = mean(Fratercula_arctica__POJA_4, na.rm=T))
meands$Fratercula_arctica__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__POJA_IB2659 = mean(Fratercula_arctica__POJA_IB2659, na.rm=T))
meands$Fratercula_arctica__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(Fratercula_arctica) < 300) %>% summarise(mean_Fratercula_arctica__POJA_MKP1559 = mean(Fratercula_arctica__POJA_MKP1559, na.rm=T))
meands$GRSK_MKP1592__GRSK_MKP1592 <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__GRSK_MKP1592 = mean(GRSK_MKP1592__GRSK_MKP1592, na.rm=T))
meands$GRSK_MKP1592__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__GRSK_MKP1593 = mean(GRSK_MKP1592__GRSK_MKP1593, na.rm=T))
meands$GRSK_MKP1592__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__LTJA_MKP990 = mean(GRSK_MKP1592__LTJA_MKP990, na.rm=T))
meands$GRSK_MKP1592__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__PAJA_B20730 = mean(GRSK_MKP1592__PAJA_B20730, na.rm=T))
meands$GRSK_MKP1592__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__PAJA_USNM606730 = mean(GRSK_MKP1592__PAJA_USNM606730, na.rm=T))
meands$GRSK_MKP1592__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__POJA_4 = mean(GRSK_MKP1592__POJA_4, na.rm=T))
meands$GRSK_MKP1592__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__POJA_IB2659 = mean(GRSK_MKP1592__POJA_IB2659, na.rm=T))
meands$GRSK_MKP1592__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(GRSK_MKP1592) < 300) %>% summarise(mean_GRSK_MKP1592__POJA_MKP1559 = mean(GRSK_MKP1592__POJA_MKP1559, na.rm=T))
meands$GRSK_MKP1593__GRSK_MKP1593 <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__GRSK_MKP1593 = mean(GRSK_MKP1593__GRSK_MKP1593, na.rm=T))
meands$GRSK_MKP1593__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__LTJA_MKP990 = mean(GRSK_MKP1593__LTJA_MKP990, na.rm=T))
meands$GRSK_MKP1593__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__PAJA_B20730 = mean(GRSK_MKP1593__PAJA_B20730, na.rm=T))
meands$GRSK_MKP1593__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__PAJA_USNM606730 = mean(GRSK_MKP1593__PAJA_USNM606730, na.rm=T))
meands$GRSK_MKP1593__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__POJA_4 = mean(GRSK_MKP1593__POJA_4, na.rm=T))
meands$GRSK_MKP1593__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__POJA_IB2659 = mean(GRSK_MKP1593__POJA_IB2659, na.rm=T))
meands$GRSK_MKP1593__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(GRSK_MKP1593) < 300) %>% summarise(mean_GRSK_MKP1593__POJA_MKP1559 = mean(GRSK_MKP1593__POJA_MKP1559, na.rm=T))
meands$LTJA_MKP990__LTJA_MKP990 <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(LTJA_MKP990) < 300) %>% summarise(mean_LTJA_MKP990__LTJA_MKP990 = mean(LTJA_MKP990__LTJA_MKP990, na.rm=T))
meands$LTJA_MKP990__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(LTJA_MKP990) < 300) %>% summarise(mean_LTJA_MKP990__PAJA_B20730 = mean(LTJA_MKP990__PAJA_B20730, na.rm=T))
meands$LTJA_MKP990__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(LTJA_MKP990) < 300) %>% summarise(mean_LTJA_MKP990__PAJA_USNM606730 = mean(LTJA_MKP990__PAJA_USNM606730, na.rm=T))
meands$LTJA_MKP990__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(LTJA_MKP990) < 300) %>% summarise(mean_LTJA_MKP990__POJA_4 = mean(LTJA_MKP990__POJA_4, na.rm=T))
meands$LTJA_MKP990__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(LTJA_MKP990) < 300) %>% summarise(mean_LTJA_MKP990__POJA_IB2659 = mean(LTJA_MKP990__POJA_IB2659, na.rm=T))
meands$LTJA_MKP990__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(LTJA_MKP990) < 300) %>% summarise(mean_LTJA_MKP990__POJA_MKP1559 = mean(LTJA_MKP990__POJA_MKP1559, na.rm=T))
meands$PAJA_B20730__PAJA_B20730 <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(PAJA_B20730) < 300) %>% summarise(mean_PAJA_B20730__PAJA_B20730 = mean(PAJA_B20730__PAJA_B20730, na.rm=T))
meands$PAJA_B20730__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(PAJA_B20730) < 300) %>% summarise(mean_PAJA_B20730__PAJA_USNM606730 = mean(PAJA_B20730__PAJA_USNM606730, na.rm=T))
meands$PAJA_B20730__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(PAJA_B20730) < 300) %>% summarise(mean_PAJA_B20730__POJA_4 = mean(PAJA_B20730__POJA_4, na.rm=T))
meands$PAJA_B20730__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(PAJA_B20730) < 300) %>% summarise(mean_PAJA_B20730__POJA_IB2659 = mean(PAJA_B20730__POJA_IB2659, na.rm=T))
meands$PAJA_B20730__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(PAJA_B20730) < 300) %>% summarise(mean_PAJA_B20730__POJA_MKP1559 = mean(PAJA_B20730__POJA_MKP1559, na.rm=T))
meands$PAJA_USNM606730__PAJA_USNM606730 <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(PAJA_USNM606730) < 300) %>% summarise(mean_PAJA_USNM606730__PAJA_USNM606730 = mean(PAJA_USNM606730__PAJA_USNM606730, na.rm=T))
meands$PAJA_USNM606730__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(PAJA_USNM606730) < 300) %>% summarise(mean_PAJA_USNM606730__POJA_4 = mean(PAJA_USNM606730__POJA_4, na.rm=T))
meands$PAJA_USNM606730__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(PAJA_USNM606730) < 300) %>% summarise(mean_PAJA_USNM606730__POJA_IB2659 = mean(PAJA_USNM606730__POJA_IB2659, na.rm=T))
meands$PAJA_USNM606730__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(PAJA_USNM606730) < 300) %>% summarise(mean_PAJA_USNM606730__POJA_MKP1559 = mean(PAJA_USNM606730__POJA_MKP1559, na.rm=T))
meands$POJA_4__POJA_4 <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(POJA_4) < 300) %>% summarise(mean_POJA_4__POJA_4 = mean(POJA_4__POJA_4, na.rm=T))
meands$POJA_4__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(POJA_4) < 300) %>% summarise(mean_POJA_4__POJA_IB2659 = mean(POJA_4__POJA_IB2659, na.rm=T))
meands$POJA_4__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(POJA_4) < 300) %>% summarise(mean_POJA_4__POJA_MKP1559 = mean(POJA_4__POJA_MKP1559, na.rm=T))
meands$POJA_IB2659__POJA_IB2659 <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(POJA_IB2659) < 300) %>% summarise(mean_POJA_IB2659__POJA_IB2659 = mean(POJA_IB2659__POJA_IB2659, na.rm=T))
meands$POJA_IB2659__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(POJA_IB2659) < 300) %>% summarise(mean_POJA_IB2659__POJA_MKP1559 = mean(POJA_IB2659__POJA_MKP1559, na.rm=T))
meands$POJA_MKP1559__POJA_MKP1559 <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(POJA_MKP1559) < 300) %>% summarise(mean_POJA_MKP1559__POJA_MKP1559 = mean(POJA_MKP1559__POJA_MKP1559, na.rm=T))
meands$ANSK01__Uria_lomvia <- dists_select %>% filter(as.numeric(ANSK01) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_ANSK01__Uria_lomvia = mean(ANSK01__Uria_lomvia, na.rm = T))
meands$ANSK7__Uria_lomvia <- dists_select %>% filter(as.numeric(ANSK7) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_ANSK7__Uria_lomvia = mean(ANSK7__Uria_lomvia, na.rm = T))
meands$ANSK8__Uria_lomvia <- dists_select %>% filter(as.numeric(ANSK8) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_ANSK8__Uria_lomvia = mean(ANSK8__Uria_lomvia, na.rm = T))
meands$Alca_torda__Uria_lomvia <- dists_select %>% filter(as.numeric(Alca_torda) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_Alca_torda__Uria_lomvia = mean(Alca_torda__Uria_lomvia, na.rm = T))
meands$CHSK_MKP2451__Uria_lomvia <- dists_select %>% filter(as.numeric(CHSK_MKP2451) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_CHSK_MKP2451__Uria_lomvia = mean(CHSK_MKP2451__Uria_lomvia, na.rm = T))
meands$CISK2__Uria_lomvia <- dists_select %>% filter(as.numeric(CISK2) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_CISK2__Uria_lomvia = mean(CISK2__Uria_lomvia, na.rm = T))
meands$CISK3__Uria_lomvia <- dists_select %>% filter(as.numeric(CISK3) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_CISK3__Uria_lomvia = mean(CISK3__Uria_lomvia, na.rm = T))
meands$CISK55__Uria_lomvia <- dists_select %>% filter(as.numeric(CISK55) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_CISK55__Uria_lomvia = mean(CISK55__Uria_lomvia, na.rm = T))
meands$Fratercula_arctica__Uria_lomvia <- dists_select %>% filter(as.numeric(Fratercula_arctica) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_Fratercula_arctica__Uria_lomvia = mean(Fratercula_arctica__Uria_lomvia, na.rm = T))
meands$GRSK_MKP1592__Uria_lomvia <- dists_select %>% filter(as.numeric(GRSK_MKP1592) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_GRSK_MKP1592__Uria_lomvia = mean(GRSK_MKP1592__Uria_lomvia, na.rm = T))
meands$GRSK_MKP1593__Uria_lomvia <- dists_select %>% filter(as.numeric(GRSK_MKP1593) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_GRSK_MKP1593__Uria_lomvia = mean(GRSK_MKP1593__Uria_lomvia, na.rm = T))
meands$LTJA_MKP990__Uria_lomvia <- dists_select %>% filter(as.numeric(LTJA_MKP990) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_LTJA_MKP990__Uria_lomvia = mean(LTJA_MKP990__Uria_lomvia, na.rm = T))
meands$PAJA_B20730__Uria_lomvia <- dists_select %>% filter(as.numeric(PAJA_B20730) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_PAJA_B20730__Uria_lomvia = mean(PAJA_B20730__Uria_lomvia, na.rm = T))
meands$PAJA_USNM606730__Uria_lomvia <- dists_select %>% filter(as.numeric(PAJA_USNM606730) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_PAJA_USNM606730__Uria_lomvia = mean(PAJA_USNM606730__Uria_lomvia, na.rm = T))
meands$POJA_4__Uria_lomvia <- dists_select %>% filter(as.numeric(POJA_4) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_POJA_4__Uria_lomvia = mean(POJA_4__Uria_lomvia, na.rm = T))
meands$POJA_IB2659__Uria_lomvia <- dists_select %>% filter(as.numeric(POJA_IB2659) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_POJA_IB2659__Uria_lomvia = mean(POJA_IB2659__Uria_lomvia, na.rm = T))
meands$POJA_MKP1559__Uria_lomvia <- dists_select %>% filter(as.numeric(POJA_MKP1559) < 300 & as.numeric(Uria_lomvia) < 300) %>% summarise(mean_POJA_MKP1559__Uria_lomvia = mean(POJA_MKP1559__Uria_lomvia, na.rm = T))
meands <- as.data.frame(meands)
temp <- t(meands)
temp
## [,1]
## NA. NA
## mean_ANSK01__ANSK01 0.00000000
## mean_ANSK01__ANSK7 0.12711648
## mean_ANSK01__ANSK8 0.12861968
## mean_ANSK01__Alca_torda 4.57623189
## mean_ANSK01__CHSK_MKP2451 0.17648443
## mean_ANSK01__CISK2 0.15978809
## mean_ANSK01__CISK3 0.15900749
## mean_ANSK01__CISK55 0.16080718
## mean_ANSK01__Fratercula_arctica 4.10784022
## mean_ANSK01__GRSK_MKP1592 0.18289744
## mean_ANSK01__GRSK_MKP1593 0.18334003
## mean_ANSK01__LTJA_MKP990 1.45285376
## mean_ANSK01__PAJA_B20730 1.47002492
## mean_ANSK01__PAJA_USNM606730 1.44661601
## mean_ANSK01__POJA_4 0.31354030
## mean_ANSK01__POJA_IB2659 0.31465531
## mean_ANSK01__POJA_MKP1559 0.32582514
## mean_ANSK7__ANSK7 0.00000000
## mean_ANSK7__ANSK8 0.12696782
## mean_ANSK7__Alca_torda 4.57229783
## mean_ANSK7__CHSK_MKP2451 0.17123685
## mean_ANSK7__CISK2 0.15952840
## mean_ANSK7__CISK3 0.15424777
## mean_ANSK7__CISK55 0.16067221
## mean_ANSK7__Fratercula_arctica 4.10509041
## mean_ANSK7__GRSK_MKP1592 0.17735027
## mean_ANSK7__GRSK_MKP1593 0.18238894
## mean_ANSK7__LTJA_MKP990 1.44483129
## mean_ANSK7__PAJA_B20730 1.45986858
## mean_ANSK7__PAJA_USNM606730 1.43754026
## mean_ANSK7__POJA_4 0.31213373
## mean_ANSK7__POJA_IB2659 0.31313473
## mean_ANSK7__POJA_MKP1559 0.31866265
## mean_ANSK8__ANSK8 0.00000000
## mean_ANSK8__Alca_torda 4.57760100
## mean_ANSK8__CHSK_MKP2451 0.17757239
## mean_ANSK8__CISK2 0.16242893
## mean_ANSK8__CISK3 0.16080888
## mean_ANSK8__CISK55 0.16289029
## mean_ANSK8__Fratercula_arctica 4.10922045
## mean_ANSK8__GRSK_MKP1592 0.18478113
## mean_ANSK8__GRSK_MKP1593 0.18565096
## mean_ANSK8__LTJA_MKP990 1.45368158
## mean_ANSK8__PAJA_B20730 1.47011598
## mean_ANSK8__PAJA_USNM606730 1.44787769
## mean_ANSK8__POJA_4 0.31449797
## mean_ANSK8__POJA_IB2659 0.31547863
## mean_ANSK8__POJA_MKP1559 0.32674328
## mean_Alca_torda__Alca_torda 0.00000000
## mean_Alca_torda__CHSK_MKP2451 4.58716801
## mean_Alca_torda__CISK2 4.57939643
## mean_Alca_torda__CISK3 4.56338098
## mean_Alca_torda__CISK55 4.57957461
## mean_Alca_torda__Fratercula_arctica 3.77499861
## mean_Alca_torda__GRSK_MKP1592 4.56947920
## mean_Alca_torda__GRSK_MKP1593 4.58625727
## mean_Alca_torda__LTJA_MKP990 4.54776805
## mean_Alca_torda__PAJA_B20730 4.56976634
## mean_Alca_torda__PAJA_USNM606730 4.53124718
## mean_Alca_torda__POJA_4 4.57139020
## mean_Alca_torda__POJA_IB2659 4.57001743
## mean_Alca_torda__POJA_MKP1559 4.65061552
## mean_CHSK_MKP2451__CHSK_MKP2451 0.00000000
## mean_CHSK_MKP2451__CISK2 0.16308725
## mean_CHSK_MKP2451__CISK3 0.15777290
## mean_CHSK_MKP2451__CISK55 0.16368197
## mean_CHSK_MKP2451__Fratercula_arctica 4.11620398
## mean_CHSK_MKP2451__GRSK_MKP1592 0.18377329
## mean_CHSK_MKP2451__GRSK_MKP1593 0.18787938
## mean_CHSK_MKP2451__LTJA_MKP990 1.44965189
## mean_CHSK_MKP2451__PAJA_B20730 1.45946865
## mean_CHSK_MKP2451__PAJA_USNM606730 1.44348371
## mean_CHSK_MKP2451__POJA_4 0.31245914
## mean_CHSK_MKP2451__POJA_IB2659 0.31365289
## mean_CHSK_MKP2451__POJA_MKP1559 0.31940597
## mean_CISK2__CISK2 0.00000000
## mean_CISK2__CISK3 0.08712823
## mean_CISK2__CISK55 0.10242065
## mean_CISK2__Fratercula_arctica 4.11056511
## mean_CISK2__GRSK_MKP1592 0.16918782
## mean_CISK2__GRSK_MKP1593 0.16889373
## mean_CISK2__LTJA_MKP990 1.45664248
## mean_CISK2__PAJA_B20730 1.47404398
## mean_CISK2__PAJA_USNM606730 1.45078315
## mean_CISK2__POJA_4 0.31389515
## mean_CISK2__POJA_IB2659 0.31475949
## mean_CISK2__POJA_MKP1559 0.32602571
## mean_CISK3__CISK3 0.00000000
## mean_CISK3__CISK55 0.10352345
## mean_CISK3__Fratercula_arctica 4.10325985
## mean_CISK3__GRSK_MKP1592 0.16336953
## mean_CISK3__GRSK_MKP1593 0.16863840
## mean_CISK3__LTJA_MKP990 1.43766569
## mean_CISK3__PAJA_B20730 1.45137397
## mean_CISK3__PAJA_USNM606730 1.42964093
## mean_CISK3__POJA_4 0.30762109
## mean_CISK3__POJA_IB2659 0.30893278
## mean_CISK3__POJA_MKP1559 0.31637493
## mean_CISK55__CISK55 0.00000000
## mean_CISK55__Fratercula_arctica 4.11105656
## mean_CISK55__GRSK_MKP1592 0.16952426
## mean_CISK55__GRSK_MKP1593 0.17011241
## mean_CISK55__LTJA_MKP990 1.45608499
## mean_CISK55__PAJA_B20730 1.47268364
## mean_CISK55__PAJA_USNM606730 1.45045338
## mean_CISK55__POJA_4 0.31411226
## mean_CISK55__POJA_IB2659 0.31487590
## mean_CISK55__POJA_MKP1559 0.32629753
## mean_Fratercula_arctica__Fratercula_arctica 0.00000000
## mean_Fratercula_arctica__GRSK_MKP1592 4.10512744
## mean_Fratercula_arctica__GRSK_MKP1593 4.11165128
## mean_Fratercula_arctica__LTJA_MKP990 4.07679773
## mean_Fratercula_arctica__PAJA_B20730 4.08197591
## mean_Fratercula_arctica__PAJA_USNM606730 4.05758358
## mean_Fratercula_arctica__POJA_4 4.10352266
## mean_Fratercula_arctica__POJA_IB2659 4.10335602
## mean_Fratercula_arctica__POJA_MKP1559 4.14061751
## mean_GRSK_MKP1592__GRSK_MKP1592 0.00000000
## mean_GRSK_MKP1592__GRSK_MKP1593 0.11941268
## mean_GRSK_MKP1592__LTJA_MKP990 1.44374942
## mean_GRSK_MKP1592__PAJA_B20730 1.45813158
## mean_GRSK_MKP1592__PAJA_USNM606730 1.43567541
## mean_GRSK_MKP1592__POJA_4 0.30912281
## mean_GRSK_MKP1592__POJA_IB2659 0.31030902
## mean_GRSK_MKP1592__POJA_MKP1559 0.31668311
## mean_GRSK_MKP1593__GRSK_MKP1593 0.00000000
## mean_GRSK_MKP1593__LTJA_MKP990 1.45515426
## mean_GRSK_MKP1593__PAJA_B20730 1.46928223
## mean_GRSK_MKP1593__PAJA_USNM606730 1.44999177
## mean_GRSK_MKP1593__POJA_4 0.31122188
## mean_GRSK_MKP1593__POJA_IB2659 0.31266411
## mean_GRSK_MKP1593__POJA_MKP1559 0.32167798
## mean_LTJA_MKP990__LTJA_MKP990 0.00000000
## mean_LTJA_MKP990__PAJA_B20730 1.07386459
## mean_LTJA_MKP990__PAJA_USNM606730 1.04864110
## mean_LTJA_MKP990__POJA_4 1.44635556
## mean_LTJA_MKP990__POJA_IB2659 1.44795550
## mean_LTJA_MKP990__POJA_MKP1559 1.47718872
## mean_PAJA_B20730__PAJA_B20730 0.00000000
## mean_PAJA_B20730__PAJA_USNM606730 0.20148802
## mean_PAJA_B20730__POJA_4 1.46244044
## mean_PAJA_B20730__POJA_IB2659 1.46489772
## mean_PAJA_B20730__POJA_MKP1559 1.47481183
## mean_PAJA_USNM606730__PAJA_USNM606730 0.00000000
## mean_PAJA_USNM606730__POJA_4 1.44098686
## mean_PAJA_USNM606730__POJA_IB2659 1.44224928
## mean_PAJA_USNM606730__POJA_MKP1559 1.46906497
## mean_POJA_4__POJA_4 0.00000000
## mean_POJA_4__POJA_IB2659 0.30246085
## mean_POJA_4__POJA_MKP1559 0.31268472
## mean_POJA_IB2659__POJA_IB2659 0.00000000
## mean_POJA_IB2659__POJA_MKP1559 0.31400278
## mean_POJA_MKP1559__POJA_MKP1559 0.00000000
## mean_ANSK01__Uria_lomvia 4.75880023
## mean_ANSK7__Uria_lomvia 4.75436626
## mean_ANSK8__Uria_lomvia 4.75998268
## mean_Alca_torda__Uria_lomvia 2.20915434
## mean_CHSK_MKP2451__Uria_lomvia 4.75261924
## mean_CISK2__Uria_lomvia 4.76234895
## mean_CISK3__Uria_lomvia 4.73861000
## mean_CISK55__Uria_lomvia 4.76238425
## mean_Fratercula_arctica__Uria_lomvia 3.81534485
## mean_GRSK_MKP1592__Uria_lomvia 4.74878316
## mean_GRSK_MKP1593__Uria_lomvia 4.75945106
## mean_LTJA_MKP990__Uria_lomvia 4.72789051
## mean_PAJA_B20730__Uria_lomvia 4.74296622
## mean_PAJA_USNM606730__Uria_lomvia 4.71685059
## mean_POJA_4__Uria_lomvia 4.75392975
## mean_POJA_IB2659__Uria_lomvia 4.75074516
## mean_POJA_MKP1559__Uria_lomvia 4.80762805
Now that we have looked at the data, I am making a list of the blocks that are acceptable for making phylogenies with Astral: I am filtering based on missing data, since phylogenies with too much missing data may not be reliable.
Astralblocks <- dists_select %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(LTJA_MKP990)<300) %>% #filter out blocks with too much missing data in any Stercorariid
select(chromosome, start, end) %>% #select the columns with the block name
unite(tempcol, start, end, sep = "_") %>% #unite the parts of the block name into a single column
unite(block, chromosome, tempcol, sep = "_")
#save the results to a txt file
#write.table(Astralblocks, "~/Documents/GitHub/Stercorarius/2_Phylogeny/2.5c_phylogeny_ASTRAL/dataset1/Astralblocks.txt", row.names = F, col.names = F, quote = F)
#also make a dataset filtered to reduce linkage between blocks, as requested by reviewer
Astralblocks <- dists_select %>%
dplyr::filter(row_number() %% 2 != 1) %>%
filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(LTJA_MKP990)<300) %>% #filter out blocks with too much missing data in any Stercorariid
select(chromosome, start, end) %>% #select the columns with the block name
unite(tempcol, start, end, sep = "_") %>% #unite the parts of the block name into a single column
unite(block, chromosome, tempcol, sep = "_")
#save the results to a txt file
#write.table(Astralblocks, "~/Documents/GitHub/Stercorarius/2_Phylogeny/2.5c_phylogeny_ASTRAL/dataset1/Astralblocks.unlinked.txt", row.names = F, col.names = F, quote = F)
#I am also making one dataset from dataset4 to be used to ensure that results are not sensitive to my bioinformatic filters
#I have commented it out here to avoid needing to load dataset4 every time
#Astralblocks <- dists_select4 %>%
# filter(as.numeric(ANSK01)<300 & as.numeric(ANSK7)<300 & as.numeric(ANSK8)<300 & as.numeric(CISK3)<300 & as.numeric(CISK55)<300 & as.numeric(CISK2)<300 & as.numeric(GRSK_MKP1592)<300 & as.numeric(GRSK_MKP1593)<300 & as.numeric(CHSK_MKP2451)<300 & as.numeric(POJA_IB2659)<300 & as.numeric(POJA_MKP1559)<300 & as.numeric(POJA_4)<300 & as.numeric(PAJA_B20730)<300 & as.numeric(PAJA_USNM606730)<300 & as.numeric(LTJA_MKP990)<300) %>% #filter out blocks with too much missing data in any Stercorariid
# select(chromosome, start, end) %>% #select the columns with the block name
# unite(tempcol, start, end, sep = "_") %>% #unite the parts of the block name into a single column
# unite(block, chromosome, tempcol, sep = "_")
#save the results to a txt file
#write.table(Astralblocks, "~/Documents/GitHub/Stercorarius/2_Phylogeny/2.5c_phylogeny_ASTRAL/Astralblocks4.txt", row.names = F, col.names = F, quote = F)